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

2.8K20

Julia(数字原语)

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

    60130

    Julia(字符串)

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

    3.9K10

    《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

    使用Julia进行统计绘图

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

    19110

    2.Julia REPL 变量

    开始使用Julia 注意 Julia 1.0版本跟之前版本有较大不同,在学习需注意 在JuliaREPL下,有多种模式: 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

    juila(0)

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

    1.6K20

    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 功能介绍。

    18610

    大数据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.3K41

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

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

    2.2K30

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

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

    1.8K20

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

    84000

    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

    学界 | MIT正式发布编程语言Julia 1.0:Python、R、C++三合一

    除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ Java 中库,这极大地扩展了 Julia 语言使用范围。...如果你从 Julia 0.6 或更早版本升级代码,我们建议你首先使用过渡版本 0.7,它包含了警告,可以帮助引导升级过程。...如果你代码没有警告,那么你就可以直接变更到 1.0 版本而不会产生任何功能性改变。注册软件包正利用 0.7 这个过渡版本,并发布了 1.0 兼容更新。...该语言是「完全成熟」,核心语言开发者社区都可以基于这个坚实基础构建新包、工具特征。 Julia 1.0 不仅涉及稳定性,还引入了多种新强大、创新性语言功能。...它还支持每项目(per-project)包环境,并记录工作应用明确状态来其他人(以及未来项目)共享。最后,该新设计还完全支持私人包软件包存储库。

    1.1K20

    MIT正式发布编程语言Julia 1.0:Python、R、C++三合一

    除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ Java 中库,这极大地扩展了 Julia 语言使用范围。...如果你从 Julia 0.6 或更早版本升级代码,我们建议你首先使用过渡版本 0.7,它包含了警告,可以帮助引导升级过程。...如果你代码没有警告,那么你就可以直接变更到 1.0 版本而不会产生任何功能性改变。注册软件包正利用 0.7 这个过渡版本,并发布了 1.0 兼容更新。...该语言是「完全成熟」,核心语言开发者社区都可以基于这个坚实基础构建新包、工具特征。 Julia 1.0 不仅涉及稳定性,还引入了多种新强大、创新性语言功能。...它还支持每项目(per-project)包环境,并记录工作应用明确状态来其他人(以及未来项目)共享。最后,该新设计还完全支持私人包软件包存储库。

    1.1K40
    领券