Python 根据条件使用列号和筛选行访问pandas中的列

Python 根据条件使用列号和筛选行访问pandas中的列,python,pandas,Python,Pandas,我有一个具有多个同名列的数据帧,这导致按列名访问时,.loc失败 df = pd.DataFrame([['abc', 'xyz'], ['abc', 'xyz'], ['xyz', 'abc']], columns=['max_speed', 'max_speed']) 我正在尝试下面提到的方法,但没有成功 df.loc[df.columns[0] == 'abc'] df.loc[df.columns[1].str.contains('xyz')] 在这种情况下,最好不要使用重复的列名

我有一个具有多个同名列的数据帧,这导致按列名访问时,
.loc
失败

df = pd.DataFrame([['abc', 'xyz'], ['abc', 'xyz'], ['xyz', 'abc']], columns=['max_speed', 'max_speed'])
我正在尝试下面提到的方法,但没有成功

df.loc[df.columns[0] == 'abc']

df.loc[df.columns[1].str.contains('xyz')]

在这种情况下,最好不要使用重复的列名

如果需要按位置列名称选择,请使用:


是的,我知道:P。这是一个源自这个问题的特例。
df[df.iloc[:, 0] == 'abc']
df[df.iloc[:, 1].str.contains('xyz')]