pandas系列 - 每个值的最大值/最小值

时间:2018-05-04 17:44:09

标签: python python-2.7 pandas

我有以下内容:

a = pd.Series([4, 8, 3, 6, 2])
b = pd.Series([2, 6, 6, 3, 4])

我能做到:

c = a.sub(b)

print c
0  2
1  2
2 -3
3  3
4 -2

我真正想要的是获取最小值并生成以下系列:

0  2
1  2
2  0
3  3
4  0

我可以使用pandas Series math进行以下操作,而不必明确地迭代每个值,如:

result = []
for val in c.tolist():
    result.append(val if val > 0 else 0)
pd.Series(result)

1 个答案:

答案 0 :(得分:4)

您可以使用clip

In [35]: a.sub(b).clip(lower=0)
Out[35]:
0    2
1    2
2    0
3    3
4    0
dtype: int64