【发布时间】:2019-02-27 07:52:57
【问题描述】:
需要关于 pandas 数据框条件的帮助。提前为基本问题道歉,或者如果它在其他地方有所涉及。
这是示例数据框:
employee sales revenue salary
12345 20 10000 100000
根据数据,我有几个条件会导致工资变化。
场景: 如果销售额 > 10 且收入 > 5,000 美元,则加薪 20% 如果销售额 $5,000,则加薪 10% 否则,什么都不做。
variables:
high_sales = 10
low_sales = 5
high_revenue = 5000
big_increase = 1.2
small_increase = 1.1
我知道这需要一些嵌套,但我不清楚该怎么做。
我希望结果是一个只调整了薪水列的数据框。
代码如下:
df['salary'] = np.where((df['sales']>=high_sales & df['revenue']
>=high_revenue), df['salary'] * big_increase, (df['sales']<=low_sales &
df['revenue'] >=high_revenue), df['salary'] * small_increase, df['sales'])
是这样吗?
【问题讨论】:
-
这就是为什么我不应该尝试从我的手机编辑格式。很抱歉搞砸了。请从底部代码块中取出“here's code”以修复字符串突出显示。
标签: python pandas dataframe if-statement conditional