查找匹配2列条件的单个数据框行索引

时间:2019-02-25 19:30:45

标签: python pandas numpy dataframe

我有一个包含3列的数据框,我需要获取与2列的值匹配的行的索引。

例如,下面的数据框:

Name     City   Country
Pietro   Roma   Italy
Maria    Milan  Italy
Pietro   NY     USA

在这种情况下,我需要获取Pietro | Roma |意大利的索引,仅对Name和City列进行搜索。

我尝试执行下面的代码,但是它返回与2列匹配的所有行。

idx = np.where(dataframe[dataframe["Name"] == 'Pietro'],dataframe[dataframe["City"] == 'Roma'])

但是它返回索引[[0,2],[0]]的数组,我需要返回索引0,即我具有Name ='Pietro'和City ='Roma'的地方

已更新解决方案

解决方案是:

dataframe.index[(dataframe["Name"] == 'Pietro')&(dataframe["City"] == 'Roma')][0]

1 个答案:

答案 0 :(得分:4)

使用

dataframe.index[(dataframe["Name"] == 'Pietro')&(dataframe["City"] == 'Roma')]