python pandas-将列除以另一列

卡戎:

我正在尝试向我添加一列,DataFrame这是另外两列相除的结果,如下所示:

df['$/hour'] = df['$']/df['hours']

这工作正常,但是如果in中的值['hours']小于1,则该['$/hour']值大于in中的值['$'],这不是我想要的。

有没有一种控制操作的方式,如果['hours'] < 1这样df['$/hour'] = df['$']呢?

耶斯雷尔:

您可以使用numpy.where

print df
    hours  $
0       0  8
1       0  9
2       0  9
3       3  6
4       6  4
5       3  7
6       5  5
7      10  1
8       9  3
9       3  6
10      5  4
11      5  7

df['$/hour'] = np.where(df['hours'] < 1, df['hours'], df['$']/df['hours'])
print df
    hours  $    $/hour
0       0  8  0.000000
1       0  9  0.000000
2       0  9  0.000000
3       3  6  2.000000
4       6  4  0.666667
5       3  7  2.333333
6       5  5  1.000000
7      10  1  0.100000
8       9  3  0.333333
9       3  6  2.000000
10      5  4  0.800000
11      5  7  1.400000

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Pandas / Python:根据另一列中的值设置一列的值

根据对多列pandas python的逻辑操作更新另一列

Python Pandas-根据另一列获取一列的最小值,并将另一列分组

Python Pandas:将列值设置为另一列的出现次数

将函数应用到以另一列作为Python Pandas中参数的列

Python Pandas:根据另一列更改条件

根据另一列(Python,Pandas)中的值删除一列的重复项

python pandas-根据另一列的内容将列中的值更改为布尔值

Python Pandas:根据另一列的值更新行

Python Pandas组基于列并获取最大值,但基于另一列排除

Python Pandas分组并基于另一列排除值

Python Pandas将列中的子字符串替换为另一列中的子字符串

Python Pandas-基于另一列中先前值的新列

根据Pandas中另一列的值添加新列(python)

将基于另一列的列与Python和Pandas组合

在Python Pandas中找到一列的最小值大于另一列的值

Python Pandas Dataframe将列创建为另一列中出现的字符串数

相对地将python pandas列递减至另一列

Python Pandas:如何创建固定日期+另一列中的#天的列

Python pandas:如何更改(复杂)基于另一列的一列?

Python Pandas DataFrame检查一列的值是否在另一列表中

Python Pandas-根据dataframe1中的另一列将dataframe1中的列与dataframe2中的列相除

Python Pandas:将一列的值检查为另一数据框的列

Python Pandas在另一列的元素列表中找到一列的元素

根据另一列pandas python的值在python中添加新列

将所有值乘以一列python pandas

如何在Python Pandas中将一个数据框的列值与另一个数据框的列值相对应的一列除以另一列?

Python将列添加到Pandas数据框中,这是另一列中的列表元素的计数

将NAT日期替换为另一列Python Pandas中的数据