如何解决将一个单元格中具有多个值的行分隔为Excel中的单个行
我有一个名称的数据集(csv文件),其中列出了具有该名称的人数,名称,“等级”和名称本身的人。
我正在寻找一种在excel中理想地将所有名称分隔为单行的方法-但也许熊猫是一种选择。
问题在于,许多行包含多个逗号分隔的名称。
数据看起来像这样。
rank | number of occurrences | name
1 | 10000 | marie
2 | 9999 | sophie
3 | 9998 | ellen
...
...
50 | 122 | jude,allan,jaspar
我希望每个名字旁边都有相应的出现次数。排名重复是很好的。
类似这样的东西
rank | number of occurrences | name
1 | 10000 | marie
2 | 9999 | sophie
3 | 9998 | ellen
..
...
50 | 122 | jude
50 | 122 | allan
50 | 122 | jaspar
解决方法
使用df.explode()
df.assign(name=(df.name.str.split(','))).explode('name')
工作原理
df.name=# Equivalent of df.assign(name=
df.name.str.split(',')#puts the names in list
df.explode('name')# Disintegrates the multiple names into one per row
rank number of occurrences name
0 1 10000 marie
1 2 9999 sophie
2 3 9998 ellen
3 50 122 jude
3 50 122 allan
3 50 122 jaspar
,
In [60]: df
Out[60]:
rank no name
0 50 122 jude,allan,jaspar
In [61]: df.assign(name=df['name'].str.split(',')).explode('name')
Out[61]:
rank no name
0 50 122 jude
0 50 122 allan
0 50 122 jaspar
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。