当前位置: 首页 > 知识库问答 >
问题:

从列中的字符串中提取沿每行的最大值

夔高寒
2023-03-14

我在DataFrame中有一列字符串,其中包含逗号分隔的数字。我需要从字符串中提取每一行的最大值。返回的最大值应该是从开始到第13个索引的最大值。

我尝试用','作为分隔符来拆分刺,将其转换为启用扩展选项的列表。然后我用Pandas的赋值方法来求垂直轴上的最大值。

sample_dt1 = sample_dt['pyt_hist'].str.split(',', expand=True).astype(float)
sample_dt = sample_dt.assign(max_value=sample_dt1.max(axis=1))
index    pyt_hist
0        0,0,0,0,0,0,0,0,0,0,0
1        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2        0,0,0,360,420,392,361,330,300,269,239,208,177
3        0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,23,0,0,56,0
index    pyt_hist                                           max_value
0        0,0,0,0,0,0,0,0,0,0,0                              0
1        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0      0
2        0,0,0,360,420,392,361,330,300,269,239,208,177      420
3        0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,23,0,0,56,0       0

使用我的代码获得的结果:

index    pyt_hist                                           max_value
0        0,0,0,0,0,0,0,0,0,0,0                              0.0
1        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0      0.0
2        0,0,0,360,420,392,361,330,300,269,239,208,177      420.0
3        0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,23,0,0,56,0       56.0

共有1个答案

司徒河
2023-03-14

您非常接近,sample_dt1.iloc[:,:13]提供sample_dt1的前13列。所以你可以做:

sample_dt = sample_dt.assign(max_value=sample_dt1.iloc[:,:13].max(axis=1))
 类似资料:
  • 本文向大家介绍Python Regex从字符串中提取最大数值,包括了Python Regex从字符串中提取最大数值的使用技巧和注意事项,需要的朋友参考一下 使用正则表达式从字符串中提取最大数值的最简单方法是- 使用regex模块从字符串中提取所有数字 从这些数字中找到最大值 例如,对于输入字符串- 这个城市有121005人,邻近城市有1587469人,而遥远城市有18775994人。 我们应该得到

  • 我想在一个新变量中存储“UserId”的最后一位数字(这样的UserId是字符串类型)。 我想出了这个,但它是一个很长的df,需要很长时间。关于如何优化/避免循环有什么建议吗?

  • 我有以下字符串 从上面,我需要提取下面的文字 第一个数字和文本之间总是有一个空格,所以2129和This is page1之间有一个空格。有时第一个数字被省略,就像2129不见了。文本和下一个数字之间总是有一个空格,所以在This is a Page1和6754001之间有一个空格,有时可能有两个空格。我只需要提取这些线这些线总是从空格开始,所以它可以 它们的后面总是有一个空格,有时是一个空格,有

  • 问题内容: 我有一个Java 对象。我只需要从中提取数字。我举一个例子: 我想要 是否有仅提取数字的库函数? 感谢你的回答。在尝试这些库之前,我需要知道是否必须安装任何其他库? 问题答案: 你可以使用正则表达式并删除非数字。

  • 所谓字符串,指的就是字符的序列或者“串”。我们要在字符串上执行的第一个操作是提取所有字符中的一个。C++使用方括号([和])执行该操作: apstring fruit = "banana"; char letter = fruit[1]; cout << letter << endl; 表达式fruit[1]表明我们要从字符串变量fruit中取得编号为1的字符,并将结果保存在字符变量letter

  • 问题内容: 我想从包含数字和字母的字符串中提取数字: 我想在这里获取号码或任何其他号码。 问题答案: