簡體   English   中英

重塑數據框架,同時保留分類變量

[英]Reshaping Data Frame while keeping categorical variables

我一直在嘗試使用數據透視表來重塑具有以下形狀的數據框。

User  Product  Gender  Age  Cost

1     1        M       25   10
1     2        M       25   12
1     3        M       25   14
1     4        M       25   15
2     2        F       19   29
2     4        F       19   14
2     6        F       19   17
2     8        F       19   30

我希望它看起來像這樣:

User  Gender  Age   Cost

1     M        25   51   
2     F        19   90   

換句話說,我想通過UserID來匯總成本,同時將其余的分類變量保留在數據框中。

我嘗試過透視數據,但是它刪除了我想要保留的性別和年齡變量。

我嘗試過使用groupby函數並匯總費用列,但是當我嘗試添加性別和年齡變量時,它會產生NaN或為同一用戶重新創建帶有多個條目的原始表。

性別和年齡變量在用戶之間是一致的。 我想念什么?

您需要groupby + agg

df.groupby(['User','Gender']).agg({'Age':'first','Cost':'sum'}).reset_index()

   User Gender  Age  Cost
0     1      M   25    51
1     2      F   19    90

要么:

df.groupby(['User','Gender'], as_index=False).agg({'Age':'first','Cost':'sum'})

暫無
暫無

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

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