微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从一列中提取数字并将其放在一个空列中,作为数据框熊猫中的int范围

如何解决从一列中提取数字并将其放在一个空列中,作为数据框熊猫中的int范围

我试图遍历数据帧中的一列('winning_numbers'),然后使用for循环逐行将空列('win_num_range')中的第一位和最后一位作为int范围。我敢肯定这已经被问过了,但是鉴于所涉及的语法和方法,我找不到合适的答案。

import pandas as pd 
  
# Define a dictionary containing employee data 
data = {'winning_numbers':['12,15,36,46,55','3,10,56,67,69'],#this is ideally what I want the OUTPUT to be below
        'win_num_range':[(12,55),(3,69)]} 
  
# Convert the dictionary into DataFrame  
df = pd.DataFrame(data) 

# been trying it this way,but I am sure there are any numbers of ways,so please help kindly I am kinda new

for ind,row in df.iterrows():
  df.loc[ind,'win_num_range'] = lambda x : range(x[0],x[4]),df.loc['winning_numbers'].values```

解决方法

您可以尝试以下解决方案:

如果您确实想要字符串格式的范围信息:

df['win_num_range'] = df['winning_numbers'].apply(lambda x: 'range(' + str(min(map(int,x.split(',')))) + ',' + str(max(map(int,')))) + ')')

如果您需要作为元组,那么您应该这样做:

df['win_num_range'] = df['winning_numbers'].apply(lambda x: (min(map(int,'))),max(map(int,')))))

如果您需要此范围:

df['win_num_range'] = df['winning_numbers'].apply(lambda x: range(min(map(int,')))))

使用apply和lambda函数来评估每一行。

split(',')创建一个列表,其中包含winning_numbers列中的值。

这种方法允许您使用最小和最大以所需的格式传递信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?