python - Pandas 错误:'[nan nan] not found in axis' 同时删除没有标签的列
问题描述
我正在尝试将前两列放在列标题为 NaN 的数据框中。数据框如下所示:
**15 NaN NaN NaN Energy Supply Energy Supply Renewable Energy**
17 NaN Afghanistan Afghanistan 1 2 3
18 NaN Albania Albania 1 2 3
19 NaN Algeria Algeria 1 2 3
我需要删除标记为 NaN 的前两列。我试过df=df.drop(df.columns[[1,2]],axis=1)
了,它返回一个错误我错过了什么?
KeyError:'[nan nan] 在轴中找不到'
解决方案
奇怪的是你有NaN
列。请尝试过滤不以NaN
using开头的列regex
。
df.filter(regex='^(?!NaN).+', axis=1)
使用您的数据
print(df)
15 NaN NaN.1 NaN.2 EnergySupply EnergySupply.1 \
0 17 NaN Afghanistan Afghanistan 1 2
1 18 NaN Albania Albania 1 2
2 19 NaN Algeria Algeria 1 2
RenewableEnergy
0 3
1 3
2 3
解决方案
print(df.filter(regex='^(?!NaN).+', axis=1))
15 EnergySupply EnergySupply.1 RenewableEnergy
0 17 1 2 3
1 18 1 2 3
2 19 1 2 3
推荐阅读
- karate - KarateDSL 从响应中解析值并添加到下一个场景有效负载不起作用
- vue.js - 如何将全局导入的 Vue 组件设置为具有预设属性?
- c++ - 无需初始化类的 C++ Class.function 语法(Arduino)
- spring-boot - 我们可以在不创建 JSON 配置文件的情况下将 Swagger 与 JAX-RS 集成吗?
- c++ - Visual Studio 可以通过“转到定义”找到标识符的定义,但编译器会抛出“找不到标识符”(CS3861)
- jmeter - 运行 Taurus 时如何替换 jmeter 键
- jboss - 当我们更改系统时间时,hornetq 失败
- java - 未定义类型列表
- java - 如何将广义对象用于 2 个不同的类?
- javascript - 我可以使用 ::before content 使 div 成为可点击的链接吗?