![](/img/trans.png)
[英]get the percentage of a grouped values based on another column pands 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.