首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将值为“NaN”的熊猫数据中的单元格值替换为来自另一个/相同数据的值

将值为“NaN”的熊猫数据中的单元格值替换为来自另一个/相同数据的值
EN

Stack Overflow用户
提问于 2016-09-06 21:05:18
回答 1查看 391关注 0票数 2

生成了以下熊猫数据格式df1:

代码语言:javascript
运行
复制
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

注意熊猫指数的变化,因为我已经使用了我的实际项目的数据输出。

还有第二个可用的dataframe df2,如下所示:

代码语言:javascript
运行
复制
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
  1. 如何搜索第一个数据文件中的GC-Value列,并找到所有的NaN值,然后用第二个数据格式中的组索引和组顺序列的值替换它们,在这两个数据格式中,组索引和组顺序列是相同的?
  2. 解决我的问题的另一个解决方案是将值从定义值的行复制到与df1中的Group和Group匹配的NaN单元格中。

因此,结果应该是:

代码语言:javascript
运行
复制
            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
EN

回答 1

Stack Overflow用户

发布于 2016-09-06 21:13:48

代码语言:javascript
运行
复制
vnull = df1.Value.isnull()
mrg_cols = ['Group-Index', 'Group-Order']
df1.loc[vnull, 'Value'] = df2.merge(df1.loc[vnull, mrg_cols]).Value.values

df1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39357828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档