将一个单元格中具有多个值的行分隔为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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...