如何解决从一列中提取数字并将其放在一个空列中,作为数据框熊猫中的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 举报,一经查实,本站将立刻删除。