如何解决将字符串组转换为熊猫数据帧
我想通过创建一个将数字列表转换为组的函数来对一些数字列表进行分组,然后将这些数字转换为熊猫数据框,但它不起作用。
列表 = [ 10,50,80,12,5,8,19,90,40,7,9,18,27,30,45]
def number_group(x):
item = [ ]
for i in x:
if i in range(0,30):
print (' group 10 and 30')
elif i in range(30,60):
print ('group 30 and 60')
elif i in range (60,90):
print ('group 60 and 90')
elif i in range (90,120):
print ('group 90 and 120')
else:
return ('NAN')
item.append((i))
return
当我将我的列表传递给函数并尝试将结果转换为熊猫数据帧时,我一直没有得到。 知道如何完成这些吗?
解决方法
list=number_group([ 10,50,80,12,5,8,19,90,40,7,9,18,27,30,45])
df=pd.DataFrame(list,columns=['Number_Group'])
,这称为binning,命令是pd.cut(x,bins)
。作为奖励,它为超出范围的值提供 NaN:
ll = [10,45,-1,333]
binned = pd.cut(ll,[0,60,120],ordered=True)
[(0,30],(30,60],(60,90],(0,...,(0.0,30.0],(30.0,60.0],NaN,NaN]
Length: 18
Categories (4,interval[int64]): [(0,30] < (30,60] < (60,90] < (90,120]]
注意输出是 pandas Categorical
。它给出了与您想要的相似的类别名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。