pandas - 将两列合并为第三列给出错误
问题描述
我有一个merger
数据框如下:
Type_x Type_y
0 NaN val0
1 NaN val0
2 val1 NaN
.. ... ...
953 NaN val2
954 NaN NaN
我正在尝试使用线条将merger['Type'] = merger.stack().values
线条相互融合以达到此结果:
Type_x Type_y Type
0 NaN val0 val0
1 NaN val0 val0
2 val1 NaN val1
.. ... ... ...
953 NaN val2 val2
954 NaN NaN NaN
但是,它不起作用,我收到错误:ValueError: Length of values does not match length of index
. 但是,当我print(merger)
将它们取出时,这两列的长度似乎相同。此外,当我在 Excel 中加载它们(用 0 替换 NaN)时,它们的长度相同。
有什么想法吗?
解决方案
正如我理解你的例子我试过这个,它可以帮助你得到你想要的结果,
merger['Type']=merger['Type_x'].copy()
merger['Type']=merger['Type'].fillna(merger['Type_y'])
推荐阅读
- swift - 即使我使用了 FirebaseApp.configure() 也无法获取 FirebaseApp 实例
- python - folium choropleth 中的 key_on 困难
- json - 在 powerBI 中打开 Json 文件时出错,详细信息:“我们在 JSON 输入的末尾发现了多余的字符。”
- discord - 警告命令
- python - 我想多个 3 图像使用 addWeighted 功能
- django - Heroku 不会在 Django 中迁移模型
- git - 如何删除 git 文件中显示的 ^M 字符
- jwt - 我应该在哪里刷新 SvelteKit 中的 JWT
- ios - 根据布局方向翻转 SwiftUI Shape
- laravel - Laravel Valet 站点仅适用于 www