繁体   English   中英

如何根据 pandas dataframe 中另一列的多个值在一列中创建值列表?

[英]How do I create a list of values in a column from several values from another column in a pandas dataframe?

我有一个 dataframe 具有这些值:

filename, keyword, page
A, red, 1
A, red, 2
A, green, 1
B, red, 1
B, green, 1
C, green, 2

如何将其转换为以下格式?

filename, keywords, pages
A, [red, green], [1,2]
B, [red, green], [1]
C, [green], [2]

在 Pandas 中有没有简单的方法可以做到这一点? 如果不允许将列表作为单元格值,是否有我可以使用 Pandas 允许的另一种数据类型? 或者我可以将其存储在 Pandas dataframe 中,然后将其保存到 csv 中?

你可以使用 df.groupby(["filename"])['keyword','page'].agg(set)

keyword page
filename        
A   {green, red}    {1, 2}
B   {green, red}    {1}
C   {green} {2}

( PS:根据 Ch3steR 答案更新,我只使用列表而不是集合

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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