【发布时间】:2013-06-07 17:38:38
【问题描述】:
我很难找到一种方法来在 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 值)。
没关系。有一个带有组合功能的逃生舱口,因此您可以放入任何元素功能:
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
【问题讨论】:
-
我认为您应该在“nevermind”之后添加位作为答案,而不是在问题的末尾(我赞成)...虽然我不同意
min(1, NaN) == 0... . -
是的!你应该回答你自己的问题,所以它有一个被接受的答案。