簡體   English   中英

使用 Pandas join 填充列

[英]Using Pandas join to fill in columns

我有兩個大致看起來像的數據幀

(ID) (Category) (Value1)  (Value2)

111   1          5          7
112   1          3          8
113   2          6          9
114   3          2          6

(Category)  (Value1 Average for Category) (Value2 Average for Category)

1              4                              5 
2              6                              7
3              9                              2

最終,我想加入兩個數據幀,以便每個 ID 可以在它所在的行中具有其類別的平均值。 我無法找到加入/合並/等的正確方法。 這將通過檢查來自其他 DateFrame 的類別來填充列。 有誰知道從哪里開始?

只需在第一個數據幀上執行df1.groupby(['ID', 'Category']).transform(func='mean')即可獲得所需的數據幀。

您只是在尋找join ,在pd.merge中我們使用pd.merge ,如下所示:

df3 = pd.merge(df1, df2, on='Category')

    ID  Category    Value1  Value2  Value 1 Average Value 2 Average
0   111 1           5       7       4               5
1   112 1           3       8       4               5
2   113 2           6       9       6               7
3   114 3           2       6       9               2

pandas合並的官方文檔:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html

這是關於連接的一個很好的解釋: Pandas Merging 101

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM