gpt4 book ai didi

python - 正则表达式选择包含除一个以外的字符串的列

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:04 34 4
gpt4 key购买 nike

我有一个 pandas DataFrame,如下所示。我想选择除“final_ind”列之外的所有以“_cd”或“_ind”结尾的列。我怎样才能做到这一点?

df = pd.DataFrame({
'var1': [20, 30.0, 40],
'var2_ind': ["a4", "a3", "b1"],
'var3_cd': [10, 5, 7],
'final_ind': [1, 0, 1],
})

这是我尝试过的:

df.ix[:, df.columns.str.contains('_cd|_ind')] #Gets all columns except var1
df.ix[:, df.columns.str.contains('_cd|_ind[^final_ind]')] #Gets only var3_cd

最佳答案

您可以像这样将 filterregex 一起使用:

df.filter(regex='^(?!final).*(_cd|_ind)$')

# var2_ind var3_cd
#0 a4 10
#1 a3 5
#2 b1 7

  • ^(?!final) 将断言列名称不以 final 开头,这要归功于负面的前瞻性 (?!.. .);
  • .*(_cd|_ind)$ 匹配以 _cd_ind 结尾的列名;

关于python - 正则表达式选择包含除一个以外的字符串的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46227886/

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