初始化空的熊猫系列并有条件地添加到其中

高拉夫·班萨尔(Gaurav Bansal)

我有一个熊猫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
BEN_YO

如果我理解正确,则可以使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章