如果您有这样的 Pandas 数据框,则可以通过这种方式进行过滤:
df = pd.DataFrame({'name1': ['apple','pear','applepie','APPLE'],
'name2': ['APPLE','PEAR','apple','APPLE']
})
df[df['name1'] != df['name2']] # works
但是当你想比较列的上限值时,你如何过滤行呢?
df[df['name1'].upper() != df['name2'].upper()] # does not work
最佳答案
您需要使用 pandas.Series.str.upper()
因为 df['name1']
是一系列字符串,因此我们使用 .str
用于矢量化字符串操作的字符串访问器。
df[df['name1'].str.upper() != df['name2'].str.upper()]
输出:
name1 name2
2 applepie apple
关于python - 如何根据列值比较在 python 中过滤 Pandas 数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51500904/