【发布时间】:2017-10-17 00:59:15
【问题描述】:
我有两个具有以下值的数据框:
df1
Cash
Date
2011-01-10 -5114.85
2011-01-11 -5000.85
df2
GOOG AAPL XOM IBM Cash
2011-01-10 0.0 0.0 0.0 0.0 -19.900
2011-01-11 0.0 0.0 0.0 0.0 0.000
对于 df1 中的每个条目,我检查该索引是否存在于 df2 中。如果索引存在,那么我想将 df1 和 df2 的值添加到 df2;更新 df2 中的值,使其与 df1 中的值相同。
我正在尝试使用以下代码来实现:
for each in df1.index:
if each in df2.index:
df2.loc[each]['Cash'] = df1.loc[each]['Cash'] + df2.loc[each]['Cash']
控制台的输出是:
SettingWithCopyWarning: 试图在 DataFrame 中的切片副本上设置一个值 请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy df2.loc[each]['Cash'] = df1.loc[each]['Cash'] + df2.loc[each]['Cash']
我假设一个警告仍然会让我执行代码并更新我在 df2 中的列值...
错误
交易数据框未填充更新的值。
预期输出
GOOG AAPL XOM IBM Cash
2011-01-10 0.0 0.0 0.0 0.0 -5134.75
2011-01-11 0.0 0.0 0.0 0.0 -5000.85
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: python pandas dataframe merge