【发布时间】:2017-12-03 17:15:22
【问题描述】:
在从另一个具有不同索引长度的数据帧中替换一个数据帧中 NaN 值的一列到期日期时,我有点卡住了。
样本数据df1:
SOH Price Value Expiry Comments
0 1P 10.49 10.49 NaN NaN
1 220 7.55 16.61 NaN NaN
用 df2 替换过期列:
SOH Price Value Expiry Comments
1 1P 6.22 6.22 NaN NaN
2 61 17.65 10.77 NaN NaN
3 1P 11.99 11.99 NaN NaN
4 2P 54.45 108.90 NaN NaN
5 1P 10.49 10.49 May-17 NaN
6 220 7.55 16.61 June-18 NaN
所以新的数据框可能有不同的顺序和索引,但列保持不变。
我希望 df1 输出为:
SOH 价格 价值 到期评论
0 1P 10.49 10.49 May-17 NaN
1 220 7.55 16.61 June18 NaN
我试过了:
- df1.fillna(df2),
- df1.update(df2)
- df1.loc[df1['Expiry'].isnull(),'Expiry'] = df1['Expiry'].map(df2.Expiry)
- 带有 3 个参数的正向循环,
- 合并
- 内连接
但还没有运气:(任何帮助将不胜感激!
【问题讨论】:
-
你是基于SOH列替换吗?
-
不,我需要价格和价值来匹配,以防有其他 SOH 看起来相同
标签: python-3.x pandas