繁体   English   中英

如何将 append 列转换为 DataFrame 以收集 Python 中另一个 DataFrame 的值?

[英]How to append a column to a DataFrame that collects values of another DataFrame in Python?

我有两个表(作为 Pandas 的 DataFrame),一个就像

姓名
姓名1 0
名字2 1个

另一个是

姓名 标签
姓名1 tg1
姓名1 tg2
姓名1 tg3
姓名1 tg3
名字2 公斤1
名字2 公斤1
名字3 其他

我想 append 一列到第一个 DataFrame 按名称收集第二个表的所有值,即

姓名 新专栏
姓名1 0 [tg1, tg2, tg3, tg3]
名字2 1个 [kg1, kg1]

我知道我可以使用逐行操作来实现这一点,但是有没有一种方法可以使用内置的 Pandas 方法来做到这一点? 如果我想同时去除new_column中collected数组的重复项,应该用什么方法呢?

DataFrame.join与聚合list一起使用:

df = df1.join(df2.groupby('name')['tag'].agg(list).rename('new_column'), on='name')
print (df)
    name  val            new_column
0  name1    0  [tg1, tg2, tg3, tg3]
1  name2    1            [kg1, kg1]

暂无
暂无

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

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