gpt4 book ai didi

python - 查找至少一行包含字母的列

转载 作者:太空狗 更新时间:2023-10-30 01:47:31 24 4
gpt4 key购买 nike

假设我有以下数据集:

import pandas as pd

df = pd.DataFrame(
{'A': [1, 2, 3],
'B': ['one', 2, 3],
'C': [4, 5, '6Y']
})

我想找出 - 无需任何繁琐的 for 循环 - 哪些列至少包含一个带字母的大小写(此处:BC)。我想结果应该是 bool 值列表或索引。

感谢您的帮助!

最佳答案

作为一种快速简单的解决方案,您可以使用replace 和 filter:

df.replace('(?i)[a-z]', '', regex=True).ne(df).any()

A False
B True
C True
dtype: bool

df.columns[df.replace('(?i)[a-z]', '', regex=True).ne(df).any()]
# Index(['B', 'C'], dtype='object')

另一种选择是按列应用 str.contains:

mask = df.astype(str).apply(
lambda x: x.str.contains(r'[a-z]', flags=re.IGNORECASE)).any()
mask

A False
B True
C True
dtype: bool

df.columns[mask]
# Index(['B', 'C'], dtype='object')

关于python - 查找至少一行包含字母的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56837351/

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