python - 在 Pandas 中用列切片删除 NaN 行
问题描述
我在 DataFrame 中有数百列,并且想删除多列为 NaN 的行。意思是这些列的整行都是 NaN。
我试图对列进行切片,但代码需要永远运行。
df = df.drop(df[(df.loc[:,'col1':'col100'].isna()) & (df.loc[:,'col120':'col220'].isna())].index)
感谢任何帮助。
解决方案
您原始问题的一部分内容如下: “......想要删除多列为 NaN 的行。这意味着对于这些列,整行都是 NaN。”
我可以将其解释为,当整行具有 NaN 时,您想删除该行。如果这是真的,您应该能够通过以下方式实现:
df.dropna(axis = 'rows', how = 'all', inplace = True)
如果不是这样,那么我误解了你的问题。
推荐阅读
- elasticsearch - Logstash:从一个弹性搜索迁移到另一个弹性搜索会导致一些附加属性
- python-3.x - How can i create list of lists from file where every list would have more than one line?
- java - 系统找不到指定的文件 Java
- javascript - Selectize.js - onInitialize 事件和加载方法之间的区别?
- apache-kafka - KSQL WARN 警告:窗口结束时间被截断为 Long.MAX 是什么意思?
- windows - 获取原因:线程“主”java.lang.VerifyError 中的异常
- typescript - Enums vs Constant differences on Typescript
- sas - Different numbers, different dates, number of calls by hour each day 0 where absent
- openshift - 如何知道 OpenShift 中的 Pod 重启/崩溃的原因?
- android - 滚动行为与子 RecyclerView 和父 Viewpager2 冲突