python - 排除特定列
问题描述
我正在查看一些交易数据,我想在这些数据上运行一些 Knn 的东西......表格包含以下列:数量 - 价格 - 到 Marutiry 的年数 - 买入/卖出 - 细分 - 经纪人
为了运行分析,我已经对“买/卖”和“细分”进行了编码。我想用作标签的经纪人,所以我无法对他进行编码。问题:在其他列中有时是 NaN。所以我需要删除这些行。但由于“经纪人”始终不是数字,所以 dropna 不起作用。有没有一种方法可以让我说“删除行,如果任何列购买经纪人包含 NaN?”
...在现实中,我有很多列,所以我想要一个解决方案,允许我“排除代理列”,而不是需要删除所有应该工作的列...
也许我可以先将数据框分成两部分:BROKERLIST 和 REST。然后我可以在 REST 上运行 dropna 并将其与 BROKERLIST 重新合并。但为此,我需要删除与在 REST 中删除的 BROKERLIST 相同的行。有什么办法可以轻松做到这一点?
谢谢
解决方案
你可以使用方法的subset
参数dropna()
import pandas
columns = set(df.columns)
columns_to_keep = columns.remove('Broker')
print(columns_to_keep)
df.dropna(subset=columns_to_keep, inplace=True)
推荐阅读
- ldap - Apache2 通过 IP 和 ldap 限制访问
- react-native - 对象属性更改不会导致 React-Native 中的重新渲染
- node.js - GET URL 给了我一个 net::ERR_SSL_PROTOCOL_ERROR,我如何在我的控制台中摆脱这个错误?
- flutter - 适合文本到容器的 FittedBox 不起作用
- sql - 在 DB-Fiddle 或 SQL-Fiddle 中创建包含一年中所有日期的日期表
- javascript - 在 Angular 的不同模块中使用 :id 声明路由,它将发送到不同的组件
- python - Cloud Function 将存储桶中的所有文件复制到同一个 GCS 存储桶内的文件夹中
- c# - 使用 FIN 标志关闭 TCP 连接
- typescript - 有没有办法在 vue 3 中查看对象的特定属性?
- asp.net - 带有 react.js 的 ASP.NET Core 5 如何从入门模板中删除路由?