大家好,我有一個問題,我有一個包含不同產品和日期的資料框,如下所示:
| 產品 | 日期 |
|---|---|
| 一個 | 01-01-2016 |
| 一個 | 01-02-2016 |
| 乙 | 23-04-2016 |
| 乙 | 22-02-2016 |
| 一個 | 02-12-2017 |
| 一個 | 13-11-2017 |
| 乙 | 2017 年 12 月 12 日 |
我想做的是創建一個資料透視表,計算產品 A 和 B 每年出現的次數。
預期的輸出是這樣的:
| 產品 | 2016 年 | 2017 |
|---|---|---|
| 一個 | 2 | 2 |
| 乙 | 2 | 1 |
感謝您的支持和時間。
uj5u.com熱心網友回復:
只要日期是日期時間物件,您就可以將df['date'].dt.year其用作資料透視表中的列。
import pandas as pd
df = pd.DataFrame({'product': ['A', 'A', 'B', 'B', 'A', 'A', 'B'],
'date': ['01-01-2016',
'01-02-2016',
'23-04-2016',
'22-02-2016',
'02-12-2017',
'13-11-2017',
'12-12-2017']})
df['date'] = pd.to_datetime(df['date'])
df = df.pivot_table(index='product', columns=df['date'].dt.year, aggfunc='count').droplevel(0, axis=1).rename_axis(None)
print(df)
輸出
date 2016 2017
A 2 2
B 2 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518650.html
