簡體   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