我有一个熊猫DataFrame,名称X
如下所示。
X = pd.DataFrame({
'month_1': [1, 0, 0, 0, 0],
'month_2': [0, 1, 0, 0, 0],
'age': [1, 2, 3, 4, 5]
})
months = X['month_1'] + X['month_2']
age = X['age']
我想创建一个方程,该方程X
根据from中的术语keep
是True还是False来相加。下面的代码有效。
keep={'seasonality':True, 'age':True}
equation = months
if keep['age']:
equation = equation + age
print(equation)
0 2
1 3
2 3
3 4
4 5
dtype: int64
但是,如果我equation
使用一个空序列进行初始化,然后添加基于的字词,则无法使其正常工作keep
。当我尝试执行此操作时,会得到NaN值。我怎样才能做到这一点?
keep={'seasonality':True, 'age':True}
equation = pd.Series([])
if keep['seasonality']:
equation = equation + months
if keep['age']:
equation = equation + age
print(equation)
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
dtype: float64
如果我理解正确,则可以使用add
+fill_value=0
equation = pd.Series([])
if keep['seasonality']:
equation = equation.add(months,fill_value=0)
if keep['age']:
equation = equation.add(age,fill_value=0)
equation
Out[91]:
0 2.0
1 3.0
2 3.0
3 4.0
4 5.0
dtype: float64
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句