【发布时间】:2017-01-14 10:22:11
【问题描述】:
生成了以下 pandas 数据帧 df1:
df1 = pd.DataFrame(data = {'Value': [1.989920, 'NaN', -9.363819, 'NaN'], 'Group-Index' : [6, 6, 7, 7], 'Group-Order' : [2, 2, 2, 2], 'Index' : [221, 225, 222, 222] })
Value Group-Index Group-Order Index
221 1.989920 6 2 221
225 NaN 6 2 225
222 -9.363819 7 2 222
278 NaN 7 2 222
请注意,pandas 索引会有所不同,因为我使用了实际项目中的数据框输出。
还有第二个数据框 df2 可用,如下所示:
df2 = pd.DataFrame({'Value': [1.989920, -9.363819], 'Group-Index' : [6, 7], 'Group-Order' : [2, 2], 'Index' : [221, 222] })
Value Group-Index Group-Order Index
221 1.989920 6 2 221
222 -9.363819 7 2 222
如何搜索第一个数据帧中的 GC-Value 列并找到所有 NaN 值,然后将它们替换为 Group-Index 和 Group-Order 列相同的第二个数据帧中的值在两个数据框的两行中?
-
我的问题的另一个解决方案是将值从定义值的行复制到与同一数据帧 df1 中的 Group-Index 和 Group-Order 匹配的 NaN 单元格。
因此,结果应该是:
Value Group-Index Group-Order Index
221 1.989920 6 2 221
225 1.989920 6 2 225
222 -9.363819 7 2 222
278 -9.363819 7 2 222
【问题讨论】: