簡體   English   中英

Python - 根據列值獲取百分比

[英]Python - Get percentage based on column values

我想評估“ percent of number of releases in a year ”作為電影鏡頭數據集中某個類型流行度的參數。 示例數據如下所示:

在此處輸入圖片說明

我可以將索引設置為年份

   df1 = df.set_index('year')

然后,我可以找到每行的總數,然后將各個單元格分開以獲得百分比的感覺:

df1= df.set_index('year')
df1['total'] = df1.iloc[:,1:4].sum(axis=1)
df2 = df1.drop('movie',axis=1)
df2 = df2.div(df2['total'], axis= 0) * 100
df2.head()

在此處輸入圖片說明

現在,獲得一年發布數量百分比的最佳方法是什么? 我相信使用“groupby”然后使用熱圖?

您可以清楚地使用groupby方法:

import pandas as pd
import numpy as np

df = pd.DataFrame({'movie':['Movie1','Movie2','Movie3'],  'action':[1,0,0], 'com':[np.nan,np.nan,1], 'drama':[1,1,np.nan], 'year
':[1994,1994,1995]})

df.fillna(0,inplace=True)
df.set_index('year')
print((df.groupby(['year']).sum()/len(df))*100)

輸出

         action        com      drama
year                                 
1994  33.333333   0.000000  66.666667
1995   0.000000  33.333333   0.000000

此外,您可以使用pandas內置style來表示數據seaborn的彩色表示(或僅使用seaborn ):

df = df.groupby(['year']).sum()/len(df)*100
df.style.background_gradient(cmap='viridis')

輸出 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM