gpt4 book ai didi

python-3.x - 如何将逗号分隔值提取到 Pandas 中的各个行?

转载 作者:行者123 更新时间:2023-12-04 00:43:16 30 4
gpt4 key购买 nike

这是我的数据框(作者列中的值是逗号分隔的字符串):

authors            book
Jim, Charles The Greatest Book in the World
Jim An OK book
Charlotte A book about books
Charlotte, Jim The last book
如何将其转换为长格式,如下所示:
authors            book
Jim The Greatest Book in the World
Jim An OK book
Jim The last book
Charles The Greatest Book in the World
Charlotte A book about books
Charlotte The last book
我试过将个别作者提取到一个列表中, authors = list(df['authors'].str.split(',')) ,压平该列表,将每个作者与每本书进行匹配,并为每个匹配构建一个新的字典列表。但这对我来说似乎不是很pythonic,我猜pandas有一种更简洁的方法来做到这一点。

最佳答案

在将索引设置为书籍后,您可以逐列拆分作者,这将使您几乎一直到那里。重命名和排序列以完成。

df.set_index('book').authors.str.split(',', expand=True).stack().reset_index('book')

book 0
0 The Greatest Book in the World Jim
1 The Greatest Book in the World Charles
0 An OK book Jim
0 A book about books Charlotte
0 The last book Charlotte
1 The last book Jim
并带你一路回家
df.set_index('book')\
.authors.str.split(',', expand=True)\
.stack()\
.reset_index('book')\
.rename(columns={0:'authors'})\
.sort_values('authors')[['authors', 'book']]\
.reset_index(drop=True)

关于python-3.x - 如何将逗号分隔值提取到 Pandas 中的各个行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244981/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com