python pandas – dividing column by another column
python pandas – dividing column by another column
You can use 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
df[$/hour] = df.apply(lambda x: x[$] if x[$] < 1 else x[$]/x[hours], axis=1)
python pandas – dividing column by another column
You can also filter and select the indexes to set with DataFrame.loc
:
df[$/hour].loc[df[hours]>=1] = df[$]/df[hours]
df[$/hour].loc[df[hours]<1] = df[$]