pd.pivot_table(df,索引= col1,列= col2,值=?)
我希望這些值是第 1 列中值的計數。第 1 列中的值都是字串。我基本上想模仿下圖所示的 excel 檔案中發生的事情

我愿意使用除 pd.pivot_table() 之外的其他函式,如果這會使事情變得更容易的話
pd.pandas(索引= col1,列= col2,值= col1)?我不確定如何參與這個。
Col1 Col2
A Red
A Red
A Red
A Blue
A Blue
A Blue
A Blue
A Blue
B Blue
B Blue
C Blue
C Blue
C Blue
C Blue
C Orange
C Orange
A Orange
A Orange
A Orange
A Orange
A Red
A Red
A Red
A Red
A Red
B Red
B Green
B Green
C Green
C Green
C Green
是否可以做這樣的事情

Col1 Col2 Col3
A Red Cheetah
A Red Cheetah
A Red Cheetah
A Blue Cheetah
A Blue Cheetah
A Blue Cheetah
A Blue Cheetah
A Blue Cheetah
B Blue Cheetah
B Blue Cheetah
C Blue Cheetah
C Blue Cheetah
C Blue Lion
C Blue Lion
C Orange Lion
C Orange Lion
A Orange Lion
A Orange Lion
A Orange Lion
A Orange Lion
A Red Lion
A Red Lion
A Red Bear
A Red Bear
A Red Bear
B Red Bear
B Green Bear
B Green Bear
C Green Bear
C Green Bear
C Green Bear
uj5u.com熱心網友回復:
嘗試使用pd.crosstab。使總列使用.sum()(使用適當的axis=)
x = pd.crosstab(df.Col1, df.Col2)
x["Grand Total"] = x.sum(axis=1)
x = pd.concat([x, x.sum().to_frame().rename(columns={0: "Grand Total"}).T])
x.columns.name, x.index.name = None, None
print(x.to_markdown())
印刷:
| 藍色的 | 綠色的 | 橙子 | 紅色的 | 累計 | |
|---|---|---|---|---|---|
| 一個 | 5個 | 0 | 4個 | 8個 | 17 |
| 乙 | 2個 | 2個 | 0 | 1個 | 5個 |
| C | 4個 | 3個 | 2個 | 0 | 9 |
| 累計 | 11 | 5個 | 6個 | 9 | 31 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/535231.html
標籤:Python熊猫枢
