[英]How to loop through Pandas DataFrame and split a string into multiple rows
循环遍历带有字符串的数据帧的最佳方法是什么,我想将其拆分为多行,同时保留其他值?
输入:
genres revenue
action|comedy|drama 5000
action|romance 10000
输出:
genres revenue
action 5000
comedy 5000
drama 5000
action 10000
romance 10000
使用Series.str.split
通过DataFrame.assign
和DataFrame.explode
分配回列,最后为默认索引添加DataFrame.reset_index
和drop=True
:
df1=df.assign(genres = df['genres'].str.split('|')).explode('genres').reset_index(drop=True)
print (df1)
genres revenue
0 action 5000
1 comedy 5000
2 drama 5000
3 action 10000
4 romance 10000
您可以将Series.str.split
与df.explode
Series.str.split
使用:
注意: df.explode
适用于df.explode
版本 >= 0.25
In [2240]: df.genres = df.genres.str.split('|')
In [2242]: df = df.explode('genres')
In [2243]: df
Out[2243]:
genres revenue
0 action 5000
0 comedy 5000
0 drama 5000
1 action 10000
1 romance 10000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.