[英]How to divide across different indices in a single dataframe in Python?
我不确定如何问这个问题,但是有关如何解决此问题的任何建议都将有所帮助。 以下是我遇到的问题的示例。
import pandas as pd
df = pd.DataFrame([('Isaac', 8), ('Jacob', 12), ('Adam', 4), ('Totals', 55)], columns=('Name', 'PPG'),index_col = 0)
Totals = df['Name'] == 'Totals'
df_totals = df[Totals]
df.PPG / df_totals.PPG
我知道我可以很容易地自己运行df_totals.PPG并输入数字,但是我想在无需输入和更改数字的情况下输入其他数据。
使用iat/iloc
提取数字,然后除以:
df.PPG / df_totals.PPG.iat[0]
#0 0.145455
#1 0.218182
#2 0.072727
#3 1.000000
#Name: PPG, dtype: float64
#set PPG to PPG/Total for non total rows.
df.loc[df.Name!='Totals','PPG'] /= df.loc[df.Name=='Totals','PPG'].iloc[0]
df
Out[872]:
Name PPG
0 Isaac 0.145455
1 Jacob 0.218182
2 Adam 0.072727
3 Totals 55.000000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.