假设我有一个看起来像这样的数据帧:
Bank Name Entity Weekly Cost
JPM Algo 30
Chase Equities 500
我想写一个函数说,
If the cost under JPM is < 100, then multiply the full column Cost by 10.
所以本质上,我想找到一个基于Bank Name
的Cost
,如果该成本低于某个阈值,那么我们将按10
重新格式化Cost
列和Cost
列的多个 ALL 值,这意味着Cost = Cost*10
。
我该怎么做这样的事情?
您需要检查all()
减少操作
In [1627]: if (df.loc[df['Bank Name'] == 'JPM', 'Weekly Cost'] < 100).all():
...: df['Weekly Cost'] *= 10
或者item()
In [1627]: if (df.loc[df['Bank Name'] == 'JPM', 'Weekly Cost'] < 100).item():
...: df['Weekly Cost'] *= 10
df['Weekly Cost'] *= 10 ** (df.set_index('Bank Name').at['JPM', 'Weekly Cost'] < 100)
df
Bank Name Entity Weekly Cost
0 JPM Algo 300
1 Chase Equities 5000