我想對每個可能的產品和地區的定價日期進行分組。
舊資料框:
data_old = pd.DataFrame({'Product': ['Tom', 'Joseph', 'Tom', 'Joseph'], 'Region':['SP', 'RJ', 'SP', 'RJ'],'Price': [20, 21, 19, 18],'Date': ['04/mar','04/mar','05/fev','05/fev']})
data_old
Product Region Price Date
0 Tom SP 20 04/mar
1 Joseph RJ 21 04/mar
2 Tom SP 19 05/fev
3 Joseph RJ 18 05/fev
所需的資料框:
data_desired = pd.DataFrame({'Product': ['Tom', 'Joseph'], 'Region':['SP', 'RJ'],'04/mar': ['20','21'], '05/fev': [19, 18]})
data_desired
Product Region 04/mar 05/fev
0 Tom SP 20 19
1 Joseph RJ 21 18
這只是一個示例資料框。需要處理的有更多資訊,所以我認為不歡迎加入解決方案。這個想法是為每個日期組創建列,每個日期組都將顯示價格,同時考慮到所有其他列,例如產品、地區、單位等。
uj5u.com熱心網友回復:
您可以使用:
data_new = data_old.pivot_table(index=['Product', 'Region'], columns=['Date'], values=['Price']).reset_index()
uj5u.com熱心網友回復:
您可以使用分組和取消堆疊按如下方式完成此操作:
data_new = data_old.groupby(['Product', 'Region', 'Date']).Price.first().unstack('Date').reset_index()
輸出:
Product Region 04/mar 05/fev
0 Joseph RJ 21 18
1 Tom SP 20 19
請注意,即使每個產品有多個區域,這種方法也可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/443613.html
