![](/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.