将一个单元格中具有多个值的行分隔为excel中的单个行
我有一个姓名数据集(csv文件),其中列出了姓名、姓名人数、他们的“等级”以及姓名本身 我正在寻找一种在excel中将所有名称分隔成一行的方法,这在理想情况下是可行的,但也许pandas中的某些内容是一种选择 问题是许多行包含多个逗号分隔的名称 数据如下所示将一个单元格中具有多个值的行分隔为excel中的单个行,excel,pandas,excel-formula,Excel,Pandas,Excel Formula,我有一个姓名数据集(csv文件),其中列出了姓名、姓名人数、他们的“等级”以及姓名本身 我正在寻找一种在excel中将所有名称分隔成一行的方法,这在理想情况下是可行的,但也许pandas中的某些内容是一种选择 问题是许多行包含多个逗号分隔的名称 数据如下所示 rank | number of occurrences | name 1 | 10000 | marie 2 | 9999 | sophie
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.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
所提供的答案被标记为低质量职位,以供审查。以下是一些指导原则。这一答案可以从解释中获益。仅代码答案不被视为“好”答案。来自评论。
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