![](/img/trans.png)
[英]How to append column values of one dataframe to column of another 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.