我很难找到一种方法来在 pandas 中执行有效的元素最少的两个 Series 对象。例如,我可以很容易地添加两个系列:
In [1]:
import pandas as pd
s1 = pd.Series(data=[1,1,1], index=[1,2,3])
s2 = pd.Series(data=[1,2,2,1], index=[1,2,3,4])
s1.add(s2)
Out[1]:
1 2
2 3
3 3
4 NaN
dtype: float64
但是我找不到在两个系列之间进行元素最小值的有效方法(以及对齐索引和处理 NaN 值)。
没关系。有一个带有 combine 函数的逃生舱口,因此您可以放入任何元素方面的函数:
In [2]:
s1 = pd.Series(data=[1,1,1], index=[1,2,3])
s2 = pd.Series(data=[1,2,2,1], index=[1,2,3,4])
s1.combine(s2, min, 0)
Out[2]:
1 1
2 1
3 1
4 0
dtype: int64