首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用do和"by“以及"groupby”重写这个已弃用的表达式(Julia)

在Julia编程语言中,已弃用的表达式是使用doby关键字来进行分组操作。为了重写这个已弃用的表达式,可以使用groupby函数来实现相同的功能。

groupby函数是Julia中的一个高阶函数,它接受一个可迭代对象和一个函数作为参数,并根据函数的返回值对可迭代对象进行分组。下面是使用groupby函数重写已弃用的表达式的示例代码:

代码语言:txt
复制
using Statistics

data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用groupby函数进行分组
groups = groupby(data) do x
    if x % 2 == 0
        "even"
    else
        "odd"
    end
end

# 遍历分组结果并计算每个分组的平均值
for (key, group) in groups
    avg = mean(group)
    println("Group: $key, Average: $avg")
end

在上面的示例代码中,我们首先定义了一个名为data的数组,然后使用groupby函数对该数组进行分组。在do关键字后面的匿名函数中,我们根据元素的奇偶性返回不同的字符串作为分组的依据。最后,我们遍历分组结果,并使用mean函数计算每个分组的平均值,并将结果打印出来。

这是一个简单的示例,展示了如何使用groupby函数重写已弃用的表达式。在实际应用中,您可以根据具体的需求和数据结构来编写更复杂的分组逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Julia(函数)

这与Scheme,大多数Lisps,Python,Ruby和Perl以及其他动态语言中的行为相同。...> hypot(3, 4) 5.0 有这个函数返回的三个可能点,返回三个不同的表情,取决于值的数值x和y。...匿名函数 Julia中的函数是一类对象:可以将它们分配给变量,并使用已分配给变量的标准函数调用语法对其进行调用。它们可以用作参数,也可以作为值返回。...关键字参数 一些函数需要大量的参数,或具有大量的行为。记住如何调用此类函数可能很困难。关键字参数可以通过名称而不是位置来标识,从而使这些复杂的界面更易于使用和扩展。 例如,考虑plot绘制线的函数。...使用do块语法,可以帮助检查文档或实现,以了解如何初始化用户函数的参数。

2.8K20
  • Julia(数字原语)

    前几日分享了juila的一些特性和安装,今天让我们来学一下这个基本的语法。我的主要的参考文档来自于: ?...这个教程我就不逐字逐句的翻译并写到这里了,我只写一些我自己感觉是有用的东西。 整数和浮点数 我觉得对于任何一门编程语言来说,它的数据类型都是要实熟悉的。...UInt64 无论系统类型如何,不能仅使用32位表示但可以用64位表示的较大整数文字总是会创建64位整数: # 32-bit or 64-bit system: julia> typeof(3000000000...(上面的表达式使用了我们尚未介绍的几个功能,包括for循环,Strings和Interpolation,但是对于具有一些已有编程经验的用户来说,应该足够容易理解。)...另外,精度或舍入只能在特定代码块的执行中通过与do块使用相同的函数来更改: julia> setrounding(BigFloat, RoundUp) do BigFloat(1)

    2K10

    PyTorch核心开发者灵魂发问:我们怎么越来越像Julia了?

    PyTorch总体的发展方向也和Julia的愿景一致,也就是同时具备拓展性、易用性和执行性能。...一方面PyTorch的底层代码后期用C++重写以获得更好的性能,另一方面functorch、fx等新功能又让用户可以直接使用Python做以前必须借助C++完成的工作。...面向科学计算设计的语言 Julia来自麻省理工CSAIL实验室,设计初衷就是想要一个既有C的速度又有Ruby的动态性、既能像Matlab一样使用数学表达式又有Python的通用性。...此外Julia还在语法上对线性代数、数据处理这些场景有额外的优化。 比如支持Unicode数学符号,数字乘以变量时候可以省略「*」,以及索引从1而不是0开始更符合人类直觉…....不过最近几年Julia已迅速被金融、医药、航天等一些行业接受,使用者包括摩根大通、辉瑞、NASA等。

    60730

    Julia(字符串)

    当然,还有许多其他非英语语言使用的字符,包括带有重音和其他修饰的ASCII字符变体,相关的脚本(例如西里尔字母和希腊语)以及与ASCII和英语完全无关的脚本,包括阿拉伯语,中文,希伯来语,北印度语,日语和韩语...正如上面所讨论的,在字符文字,Unicode代码点可以使用Unicode表示\u和\U转义序列,以及所有的标准C转义序列。...例如,LegacyStrings.jl包实现UTF16String和UTF32String类型。目前,关于其他编码以及如何实现对它们的支持的其他讨论不在本文的讨论范围之内。...\n" 这更易读和方便,并且等效于上述字符串连接-系统将这个明显的单个字符串文字重写为带变量的字符串文字的串联。 后面最短的完整表达式$作为其值要插入到字符串中的表达式。...在Julia中,正则表达式使用以非标准字符串文字作为前缀的前缀,这些文字以各种标识符开头r。没有打开任何选项的最基本的正则表达式文字只使用r"...": julia> r"^\s*(?

    4K10

    《Kotlin 程序设计》第十二章 Kotlin的多线程

    已绑定的可调用引用 现在可以使用 :: 操作符来获取指向特定对象实例的方法或属性的成员引用。 以前这只能用 lambda 表达式表示。...你可以通过定义标记有 @DslMarker 元注解的注解 并将其应用于标记类的基类。 更详细信息请参阅其文档及其 KEEP。 rem 操作符 mod 操作符现已弃用,而使用 rem 取代。...如果该映射是用 withDefault 生成的,这个函数将返回默认值,而不是抛异常。...目前这并不改变字节码的语义(特别是,接口和 lambda 表达式中的默认方法 的生成与 Kotlin 1.0 中完全一样),但我们计划在以后进一步使用它。...旧包(kotlin.reflect)中的名称已弃用,将在 Kotlin 1.2 中删除。

    3.3K10

    集 Python、C、R、Ruby 之所长,动态编程语言 Julia 1.0 正式发布

    ,在首次公开时开发团队就已明确其需求: 我们想要一种拥有自由许可的开源语言,同时拥有 C 的速度和 Ruby 的灵活。...0.7 版本包括弃用警告,可以帮助指导你完成升级过程。等到你的代码不再出现警告,就可以直接升级至 1.0 而不会产生任何功能性更改。...语言是“完全成熟的”,核心语言开发者和社区都可以专注于基于这个坚实的基础去构建软件包、工具和新特性。 Julia 1.0 不仅仅涉及稳定性,还引入了一些新的、强大的和创新的语言功能。...它还支持 per-project 的包环境,并记录工作应用的确切状态,以便与他人共享 - 以及你未来的项目。此外,还引入了对私有包和包存储库的无缝支持。...你可以使用与开源软件包生态系统相同的工具来安装和管理私有软件包。 Julia 有一个新的缺失值表示规范。能够表示和处理缺失的数据是统计和数据科学的基础。

    1.4K10

    2.Julia REPL 变量

    开始使用Julia 注意 Julia 1.0版本跟之前的版本有较大不同,在学习的需注意 在Julia的REPL下,有多种模式: help模式,按?...在help模式下,可以查看各种帮助文档,就相当于执行@doc命令; 在package模式下,可以增加、删除各种库,相当于用Pkg这个模块来操作; package模式下的add GR相当于Pkg.add(...命名规范 跟其他编程语言的命名规范基本相同,如: 变量名尽量小写 类型和模块名首字母大写,单词间使用驼峰式分隔 在几个单词不易区分时才以_分隔,一般不鼓励使用_ 函数名和宏名使用小写字母,不使用下划线...或UInt看系统位数 JUlia中的很多语法和REPL的用法都跟matlab很像,比如上一次的结果用ans表示 julia> x = 1 1 julia> ans + 1 2 十六进制 由于Julia...str[1] #Julia的下标从1开始 str[end-3:end] 又见蛋疼的编码 Julia 完整支持 Unicode 字符和字符串,Unicode码位可以使用\u和\U来转义,在Julia中

    2.1K30

    使用Julia进行统计绘图

    本文(以及系列中将要发布的其他文章)的目标是使用完全相同的数据重现[SPJ02]中的可视化效果,但每次当然会使用另一个绘图包,以便对所有包进行1:1的比较。...从技术上讲,VegaLite采取了完全不同的方法:虽然Gadfly完全是用Julia编写的,但VegaLite更像是Vega-Lite图形包的语言接口(注意其名称中的破折号,与Julia包VegaLite...这使其不太像Julia,例如Gadfly,但另一方面,熟悉Vega-Lite的人很容易学会如何使用VegaLite。...其规范不仅描述了可视化效果,还描述了事件、兴趣点以及如何对这些事件作出反应的规则。但这个特性超出了本文的范围。...不幸的是,这并没有给我们想要的结果:图表将在此范围内绘制,但图表本身仍然使用整个范围,直到20万美元,因此部分绘制在图表外部: 在VegaLite中获得大致相似的结果的唯一方法是使用过滤表达式将数据限制在

    21010

    SqlAlchemy 2.0 中文文档(八十)

    在 session.merge() 上的 “dont_load=True” 标志已弃用,建议使用 “load=False”。 ScopedSession.mapper 仍然被弃用。...已弃用/移除的 ORM 元素 大多数在 0.5 版本中已弃用并引发弃用警告的元素已移除(有几个例外)。所有标记为“待弃用”的元素现在已弃用,并将在使用时引发警告。...session.merge() 中的 “dont_load=True” 标志已弃用,改为使用 “load=False”。 ScopedSession.mapper 仍然被弃用。...弃用/移除的 ORM 元素 在 0.5 版本中被弃用并引发弃用警告的大多数元素已被移除(有少数例外)。所有标记为“即将弃用”的元素现在已被弃用,并在使用时会引发警告。...请注意,SQLAlchemy 0.5 删除了在整个 0.4 系列中已弃用的许多行为,并且还弃用了更多与 0.4 特定的行为。 主要文档更改 文档的一些部分已经完全重写,可以作为新 ORM 功能的介绍。

    20410

    juila(0)

    这个东西如果你要是去搜素juila,用百度搜素的话,大概率是一个这种东西: ? ?...尤其是在线性代数、随机数生成、信号处理、字符串处理等方面,Julia集成了众多成熟、优秀的基于C和Fortran开发的开源库,有着很高的性能与效率。...另外,Julia的开发者社区已经非常强大,贡献了大量的第三方库,我们可通过内置的包管理器方便地安装使用。...使用Julia开发有着非常好的体验。不但语法自然简洁,而且结构清晰,效率也非常高。更为可贵的是,其性能也不差。...一是Julia Pro(基于Atom),vscode(万金油的东西),还有直接的命令行使用。 去官网下载julia,一路下一步。这个地方吧。个人建议选择默认吧。

    1.6K20

    大数据Flink进阶(七):Flink批和流案例总结

    方法 Flink Java api中可以使用Lambda表达式,当涉及到使用泛型Java会擦除泛型类型信息,需要最后调用returns方法指定类型,明确声明类型,告诉系统函数生成的数据集或者数据流的类型...七、批和流对数据进行分组方法不同 批和流处理中都是通过readTextFile来读取数据文件,对数据进行转换处理后,Flink批处理过程中通过groupBy指定按照什么规则进行数据分组,groupBy中可以根据字段位置指定...key(例如:groupBy(0)),如果数据是POJO自定义类型也可以根据字段名称指定key(例如:groupBy("name")),对于复杂的数据类型也可以通过定义key的选择器KeySelector...八、关于DataSet Api (Legacy)软弃用 Flink架构可以处理批和流,Flink 批处理数据需要使用到Flink中的DataSet API,此API 主要是支持Flink针对批数据进行操作...,本质上Flink处理批数据也是看成一种特殊的流处理(有界流),所以没有必要分成批和流两套API,从Flink1.12版本往后,Dataset API 已经标记为Legacy(已过时),已被官方软弃用,

    1.4K41

    重大更新!Druid 0.18.0 发布—Join登场,支持Java11

    但是,这些功能的用例非常有限,对于其他联接用例,用户在摄取数据时必须对数据源进行规范化,而不是在查询时将其加入,这可能导致数据量激增和摄取时间延长。...收集的结果将在Broker存储中实现。Broker收集了groupBy查询的所有结果后,它将通过使用具有groupBy查询结果的内联数据源替换groupBy来重写topN查询。...最后,将重写的查询发送到数据节点以执行topN查询。 查询通道和优先级 当一次运行多个查询时,有时您可能希望根据查询的优先级来控制查询的资源分配。...例如,可能希望限制分配给不太重要的查询的资源,以便重要的查询可以及时执行,而不会因为不太重要的查询而中断。 使用查询通道,就可以控制查询工作负载的利用率。...[],[]以及[]将创建的空数组STRING,DOUBLE和LONG类型。

    2.2K30

    如何用 Python 和 Pandas 分析犯罪记录开放数据?

    本文,我借鉴 Richard 的分析思路,换成用 Python 和数据分析包 Pandas 对该数据集进行分析和可视化。希望通过这个例子,让你了解开放数据的获取、整理、分析和可视化。...我们查看一下“犯罪位置”(locname)类型,以及每种类型对应的记录条目数。 这次,我们使用 groupby 函数,先把犯罪位置进行分类,然后用 size 函数来查看条目统计。...把具体地址的后两位隐藏,是为了保护受害者的隐私。 我们如果要统计某一条街道的犯罪数量,就需要把前面的数字忽略,并且按照街道名称加总。 这个处理起来,并不困难,只要用正则表达式即可。...这里,请你安装一个特别好用的时间分析软件包 python-dateutil 。我第一次使用的时候,立即决定弃用 datetime 包了。 !...小结 通过本文的学习,希望你已掌握了以下内容: 如何检索、浏览和获取开放数据; 如何用 Python 和 Pandas 做数据分类统计; 如何在 Pandas 中做数据变换,以及缺失值补充; 如何用 Pandas

    1.9K20

    Julia 1.0 正式发布,这是新出炉的一份简单中文教程

    之前使用 MATLAB,但是被一些付费功能困扰的用户(MATLAB 2018 也是不错的,但是要支持正版哈) 之前使用 Fortran 和 R 的用户,强烈建议使用 Julia(可以结合着用也,FFI...现在告诉你函数名称是 zeros 和 MATLAB 以及 numpy 完全一样,看了上面 rand 的用法,猜猜这个怎么用? 那么如果我需要更复杂的构造呢?...在 Julia 里我们可以使用语言本身的语法来处理 Julia 自己的表达式,这被称为元编程(Meta Programming),那么元编程有什么用呢?...试试自带的 markdown string literal(markdown 字符串字面量) 如何获得 Julia 的表达式?...到了这里你也许已经发现了,实际上任何一部分 Julia 代码都是表达式,而不同的表达式有不同的 tag 而正是因为使用了 end 才能够和各种不同的代码块进行匹配。

    5K20

    Julia(控制流)

    Julia提供了多种控制流构造: ? 复合表达式:begin和(;)。 有条件的评价:if- elseif- else和?:(三元运算符)。 短路计算:&&,||和链接的比较。...有两个Julia结构可完成此任务:begin块和(;)链。这两个复合表达式构造的值都是最后一个子表达式的值。...理由是,无论is 的值如何,a && b必须为falseif ais false,b同样,无论is 的值如何,a || bif 的值都必须为true 。两者和都关联到右侧,但是具有比更高的优先级。...> j ERROR: UndefVarError: j not defined 参见变量的作用域的变量范围的详细说明,以及它是如何工作的朱莉娅。...这个例外比简单地比较和分支慢得多。 try/catch语句还允许Exception将_保存在变量中。

    3.6K20

    Python的保质期——Python在脚本领域的“大佬地位”还能持续多久?

    Python 2.7已被弃用两个月,笔者的桌面环境及操作系统中的更多特性仍然运用Python 2.7。...我喜欢将Python比作我使用的有类似作用的两种语言——Julia和Nim,Julia依赖项的世界与Python非常类似,其有一个在我主观看来的优点,即虚拟环境要好很多且更易使用。...然而,随着Nim的加入,Python将被遗弃。使用Nim,可以创建一个已编译执行文件,其中包含所需的所有依赖项。在如何为终端用户和部署处理依赖项及安装包方面,Nim轻松完胜Python和Julia。...我的回答是:当然。Python是一种很好的入门语言,可以帮助你熟悉如何解决问题,开始编程。与包括Julia和Nim在内的其他语言相比,Python拥有丰富的资源,这就使得它更易学习。...如果你用Python已有一段时间,那么可以开始学习第二种语言。尝试一种不同模式的语言,并了解那种模式及所选语言的类编程方法论如何运用这些概念。

    84400

    数据科学家是做啥的?看看Stack Overflow这位大牛两年的经历就清楚了

    David Robinson的想法是,随着数据团队的成长,以及更多工程师掌握了R语言,这些数据包和内部指南最终成长为一个真正的内部数据科学平台。...而这些分析结果和模型已经用在了实际的产品中,包括在数据团队以及其他开发团队之中。nj 大约有6个工程师会定期地参与R语言的学习活动,而他们都干出了不错的成果。...这个问题一直存在着,直到去年的12月份,他们终于雇佣了第二个数据科学家:Julia Silge 对于Julia的加入,David Robinson表示特别兴奋,因为自从他们在2016年的rOpenSci.../ 在校学生会使用Stack Overflow吗; https://stackoverflow.blog/2017/02/15/how-do-students-use-stack-overflow/ 会有人真正去访问.../ Stack Overflow:让百万开发人员选择弃用Vim; https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim

    76850

    TypeScript 5.0 正式发布!

    完善 switch/case 优化速度、内存和包大小 其他重大更改和弃用 全新装饰器 装饰器是即将推出的 ECMAScript 特性,它允许我们以可重用的方式自定义类及其成员。...然而,根据getnames确切的作用以及它的使用方式,通常情况下需要更具体的类型。...重新审视了打包策略并删除一些已弃用的代码,已将 TypeScript 4.9 的 63.8 MB 包大小减少了约 26.4 MB。还通过直接函数调用带来了显著的速度提升。...其他重大更改和弃用 运行时要求 TypeScript 现在的 target 是 ECMAScript 2018。TypeScript 软件包还将预期的最低引擎版本设置为 12.20。...> 4; // OK } 弃用和默认更改 在 TypeScript 5.0 中,弃用了以下设置和设置值: --target: ES3 --out --noImplicitUseStrict --keyofStringsOnly

    3.9K70
    领券