我有一个包含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]
答案 0 :(得分:4)
使用
dataframe.index[(dataframe["Name"] == 'Pietro')&(dataframe["City"] == 'Roma')]