【问题标题】:is invalid key Pandas Python是无效的密钥 Pandas Python
【发布时间】:2020-04-30 08:39:39
【问题描述】:

我在 Pandas 中有一个包含 729278 行和 190 列的数据框:

df1:

+----------+----------+----------+---+---+-----+---------+
| RULE_1_2 | RULE_2_2 | RULE_3_2 | … | … | smt | default |
+----------+----------+----------+---+---+-----+---------+
| 0        | 0        | 0        | … | … | 2   | 0       |
| 0        | 2        | 3        | … | … | 3   | 0       |
| 1        | 3        | 0        | … | … | 4   | 1       |
| …        | …        | …        | … | … | …   | …       |
+----------+----------+----------+---+---+-----+---------+

尝试提取所有包含 RULE 和列“默认”的列。

代码:

df2 = df1[df1.filter(regex='RULE'), df1["default"]]

但是 Python 说:

[729278 rows x 1 columns])' is an invalid key

所有列都包含 int64 类型,由 df1.dtypes 确认

1 列“默认”有什么问题?它没有出现在数据帧“df2”中。如何解决?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    想法是添加正则表达式的另一部分,由| 加入正则表达式or^ 用于字符串开头,$ 用于字符串结尾,以防止选择像some data default 这样的字符串:

    df2 = df1.filter(regex='RULE|^default$')
    

    【讨论】:

      猜你喜欢
      • 2019-01-13
      • 1970-01-01
      • 2022-11-29
      • 2022-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-30
      • 2017-12-02
      相关资源
      最近更新 更多