我有一個包含以下列的數據集:國家、年份、人口、自殺案例、國家 GDP問題:我想計算每個國家的(自殺案例/人口)*100我的方法:import pandas as pdfileName = pd.read_csv("File Path")pd.groupby("Country")我應該如何擴展我的代碼以進行上述計算?
3 回答

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
這里有一個例子??赡芩鼤?,但這應該對你有用。
import pandas as pd
df = pd.DataFrame({"Country":["France", "UK", "France", "UK"],
"Population":[1, 2, 3, 4],
"Suicide case":[5, 3, 6, 2]})
df_grouped = df.groupby("Country").sum()
(df_grouped["Suicide case"]/df_grouped["Population"])*100

狐的傳說
TA貢獻1804條經驗 獲得超3個贊
還有一個更簡潔的是:
df.groupby('Country').apply(lambda x: x['Suicide case'].sum()/ float(x['Population'].sum())*100)

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
如果我正確理解了您的問題,那么您可以嘗試以下代碼以獲得您想要的結果:
fileName = fileName.groupby(['Year','Country']).sum()
fileName['New_var'] = (fileName['Suicide case']/ fileName['Population'])*100
您還需要組中的年份,否則逐年也將獲得匯總。
添加回答
舉報
0/150
提交
取消