我有4列的ID和三類一個數據幀的結果掉進大熊貓轉換列的總數的百分比
<80% 80-90 >90
id
1 2 4 4
2 3 6 1
3 7 0 3
我想將其轉換爲百分比,即:
<80% 80-90 >90
id
1 20% 40% 40%
2 30% 60% 10%
3 70% 0% 30%
這似乎應該在熊貓能力範圍內,但我無法弄清楚。
在此先感謝!
我有4列的ID和三類一個數據幀的結果掉進大熊貓轉換列的總數的百分比
<80% 80-90 >90
id
1 2 4 4
2 3 6 1
3 7 0 3
我想將其轉換爲百分比,即:
<80% 80-90 >90
id
1 20% 40% 40%
2 30% 60% 10%
3 70% 0% 30%
這似乎應該在熊貓能力範圍內,但我無法弄清楚。
在此先感謝!
爲此,您可以使用基本的大熊貓運營商.div
和.sum
,使用axis
參數,以確保計算髮生你想要的方式:
cols = ['<80%', '80-90', '>90']
df[cols] = df[cols].div(df[cols].sum(axis=1), axis=0).multiply(100)
df[cols].sum(axis=1
)的總和。 axis=1
使求和發生在行之間,而不是沿列向下。df[cols].div(df[cols].sum(axis=1), axis=0
)。 axis=0
使分區跨列發生。100
結果讓他們的比例在0和100之間的百分比,而不是0和1之間
請舉例數據框,您的號碼是有點硬,在第一眼解釋。 – instant
我不知道如何發佈數據框,我appologize我的例子失去了它的格式,但我有一個指數的ID和colums <80%,80%-90%和> 90%。那麼我有行中的數據,所以第0行可能是[3,4,3]的iindex 1。我想排0索引1有30%,40%,30%。我對大熊貓很陌生,對不起,我仍然不好解釋。 – DTATSO
我想它實際上看起來更是這樣的: 結果<80%,80%-90%,> 90% ID ,我想: 結果<80%,80 %-90%,> 90% id 1 30%40%30% 2 70%30%0% – DTATSO