簡體   English   中英

如何在Dataframe中查找字段的百分比份額?

[英]How to find the percentage share of a field in Dataframe?

我有一個像下面這樣的Pandas DataFrame

df = pd.DataFrame({"ID" : [1,2,3,4],
                   "Amt" : [100, 200,  300, 400]})

我的目標是找到每個金額的百分比份額,並在此數據框中創建一個新的字段。 我的最終DataFrame看起來應該是這樣的

ID Amt Avg
1  100 10
2  200 20
3  300 30
4  400 40

為了達到這個目的,我將Amt字段連接到同一個DF。 然后將其重命名為Avg。 然后使用迭代器計算perc

   df = pd.concat([df, df['Amt']], axis=1)
   df.columns=(['ID', 'Amt', 'Avg'])
   for i in range(0,len(df)):
       df['Avg'] = ((df['Avg']/df['Amt'].sum())*100)

我是新手。 我見過許多人用更簡單的代碼實現了難以實現的目標。
那么有人可以幫助我知道比這個更好的方法嗎?

我相信你需要:

df['Avg'] = df['Amt']/df['Amt'].sum()*100
print (df)
   ID  Amt   Avg
0   1  100  10.0
1   2  200  20.0
2   3  300  30.0
3   4  400  40.0

暫無
暫無

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

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