python - 添加两个数据框而不截断值
问题描述
我有两个这样的数据框
data_1 = {
"price": [1]*8
}
data_2 = {
"price": [3, 3, 3],
}
df1 = pd.DataFrame(data_1, index=pd.date_range('2021/01/01', '2021/01/08', periods=8))
df2 = pd.DataFrame(data_2, index=pd.date_range('2021/01/03', '2021/01/05', periods=3))
但是当我将它们加在一起时,我得到以下内容,但问题是它用 NaN 替换了 1
df3 = df1['price'] + df2['price']
>>>
2021-01-01 NaN
2021-01-02 NaN
2021-01-03 4.0
2021-01-04 4.0
2021-01-05 4.0
2021-01-06 NaN
2021-01-07 NaN
2021-01-08 NaN
我想要的是这个
2021-01-01 1
2021-01-02 1
2021-01-03 4.0
2021-01-04 4.0
2021-01-05 4.0
2021-01-06 1
2021-01-07 1
2021-01-08 1
提前非常感谢。
解决方案
使用Series.add
方法fill_value=0
:
df3 = df1['price'].add(df2['price'], fill_value=0).astype(int)
print (df3)
2021-01-01 1
2021-01-02 1
2021-01-03 4
2021-01-04 4
2021-01-05 4
2021-01-06 1
2021-01-07 1
2021-01-08 1
Name: price, dtype: int32
推荐阅读
- visual-studio-2010 - 尝试将 Visual Basic 2010 中的单选按钮值添加到 MS Access,但我收到错误“运算符 & 未为字符串类型定义”
- python - 由于“此应用已被阻止”,Python Apache Beam 无法从 BigQuery 表中检索信息
- python-3.x - Python:在“pywintypes.py SyntaxError:解析时意外 EOF”中导入 Dash 或扭曲结果
- applescript - 为什么在 AppleScript 中设置文件夹和文件的路径不起作用?
- java - 卡在两个矩阵程序的乘法上
- android - 将图像返回到 IMAGE_CAPTURE_INTENT
- antlr - 为什么我的 ANTLR4 解析器语法错误“输入时没有可行的替代方案”?
- python - 颜色图不随 imshow() 改变
- ruby - SSHKit::Runner::ExecuteError:执行为 undefined@undefined 时出现异常:getaddrinfo:ai_socktype 不支持 Servname
- azure - Azure Log Analytics 上的此环境不支持固定到仪表板