0

熊猫数据框有 4 列:

df.columns = ['col1', 'col2', 'question', 'answer']

如何'answer'通过根据第一列满足的标准索引数据框来索引列的单个条目?

IE:

df['col1'=='apple' and 'col2'=='guitar'].answer
4

1 回答 1

1

您可以在过滤后选择值,但不推荐,因为如果设置值类似的方式可能会警告

s = df.loc[(df['col1']=='apple') & (df['col2']=='guitar')].answer

更好的方法是DataFrame.loc按掩码和列名过滤:

s = df.loc[(df['col1']=='apple') & (df['col2']=='guitar'), 'answer']

或使用DataFrame.query

s = df.query("col1=='apple' and col2=='guitar'").answer

输出是 中的一个或多个值Series,如果需要第一个进行标量:

first = s.iat[0]

如果不匹配也需要解决方案:

first  = next(iter(s), 'no match')
于 2021-01-11T10:07:24.617 回答