gpt4 book ai didi

python - Pandas - 如何根据正则表达式过滤行

转载 作者:行者123 更新时间:2023-12-01 03:40:04 24 4
gpt4 key购买 nike

您能否告诉我如何使用 Pandas 基于字符范围(如 [0-9] 或 [A-Z])过滤行。

像这样的情况,其中所有列类型都是对象

A         B
2.3 234
4.5 4b6
7b 275

我想检查 A 列中的所有值是否都是 float ,意味着包含 [0-9] 和 '.' ?我知道 pd.to_numeric、applymap、isreal、isdigit 等,但在将其转换为任何数字之前,这是对象列,我想知道非浮点值问题的规模。

数据集中哪些行包含除 [0-9] 之外的字符

最佳答案

试试这个:

In [8]: df
Out[8]:
A B
0 2.3 234
1 4.5 4b6
2 7b 275
3 11 11

In [9]: df.A.str.match(r'^\d*\.*\d*$')
Out[9]:
0 True
1 True
2 False
3 True
Name: A, dtype: bool

In [10]: df.loc[df.A.str.match(r'^\d*\.*\d*$')]
Out[10]:
A B
0 2.3 234
1 4.5 4b6
3 11 11
<小时/>

更新:

从 Pandas 0.20.1 the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers 开始。

关于python - Pandas - 如何根据正则表达式过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39732661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com