繁体   English   中英

如何遍历 Pandas DataFrame 并将字符串拆分为多行

[英]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.assignDataFrame.explode分配回列,最后为默认索引添加DataFrame.reset_indexdrop=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.splitdf.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM