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

将字符串组转换为熊猫数据帧

如何解决将字符串组转换为熊猫数据帧

我想通过创建一个将数字列表转换为组的函数来对一些数字列表进行分组,然后将这些数字转换为熊猫数据框,但它不起作用。

列表 = [ 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 举报,一经查实,本站将立刻删除。

相关推荐


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”。这是什么意思?