我有一个数据框和一个行选择功能。
import pandas as pd
df = pd.DataFrame({'A':[1,2,3],'B':[5,6,7]})
def select_f(row):
return row['a']
问题是我不想更改列名(保持大写)并运行以下函数
for _, row in df.iterrows:
if select_f(row) >2:
print row['B']
最佳答案
您可以将df.filter
与正则表达式一起使用:
In [246]: df.filter(regex=re.compile('^a$', re.I))
Out[246]:
A
0 1
1 2
2 3
为了您的目的,您可以使用:
def select_f(row):
return row.filter(regex=re.compile('^a$', re.I)).iloc[0]
关于python - Pandas 数据框列的大小写不敏感匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45860916/