[英]How to transform a pandas dataframe to multiindex dataframe
[英]Python Pandas: Transform multiindex dataframe
我將此數據集作為具有multiIndex的pandas DataFrame:
cnt
loginsmonth 2014-02-01 2014-03-01 2014-04-01 2014-05-01
app regmonth
1 2014-02-01 6069 1837 107 54
2014-03-01 0 10742 2709 1387
2014-04-01 0 0 5584 1103
2014-05-01 0 0 0 5584
我需要將其轉換為與對角線相關的百分比值:
cnt
loginsmonth 2014-02-01 2014-03-01 2014-04-01 2014-05-01
app regmonth
1 2014-02-01 6069/6069 1837/6069 107/6069 54/6069
2014-03-01 0 10742/10742 2709/10742 1387/10742
2014-04-01 0 0 5584/5584 1103/5584
2014-05-01 0 0 0 5584/5584
如果您不介意切換對角線,則可以執行以下操作:
#create dataset
data = pd.DataFrame({'2014-02-01': [6069,0,0,0], '2014-03-01': [1837,1042,0,0], '2014-04-01': [107,209,5584,0], '2014-05-01': [54,1387,1103,5384]}, index = [[1,1,1,1], ['2014-02-01', '2014-03-01', '2014-04-01', '2014-05-01']], columns = ['2014-02-01', '2014-03-01', '2014-04-01', '2014-05-01'])
#transpose dataset
data = data.T
#compute percentages
for x, col in enumerate(data):
data[col] = [item/data[col][x] for item in data[col]]
#you can always re transpose back!
data = data.T
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.