假设我有一个Pandas DataFrame:
import pandas as pd
df = pd.DataFrame({'id': [0, 2, 1], 'name': ['Sheldon', 'Howards', 'Leonard'], 'points': [10, 5, 20]})
我想在此DataFrame内搜索值为{'id': 2, 'name': 'Howards', 'points': 5}
的行.如果它存在,我如何搜索它以从它接收索引?
我的问题来了.我有一个方法可以接收具有未知键的dict和具有未知列的DataFrame.我需要在此DataFrame内部进行搜索,以发现内部是否有搜索到的行...
我找到了this answer个关于一个名为Iterrow的方法的答案.这是找到这一排的最好方法吗?代码:
import pandas as pd
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})
df = df.reset_index()
search = {'c1': 12, 'c2': 120}
index = -1
for idx, row in df.iterrows():
if row == search:
index = idx
如果没有,最好的办法是什么?