У меня есть DataFrame df
и серия s
, соответствующие столбцам в df
. Я хотел бы найти все строки в df
, которые имеют те же значения, что и s
. Вероятно, я должен упомянуть, что столбцы могут измениться, но s
всегда будет строкой в пределах df
.
df = pd.DataFrame.from_dict({'a': {0: 0.015, 1: 0.02, 2: 0.025, 3: 0.015},
'b': {0: True, 1: True, 2: True, 3: True},
'c': {0: 'foo', 1: 'foo', 2: 'foo', 3: 'foo'},
'd': {0: 1, 1: 1, 2: 1, 3: 1}})
s = df.loc[0]
Ожидаемым результатом в этом случае будет возвращаемое значение df.loc[[0,3]]
. Кроме того, индекс соответствующих строк может подойти.
Конечно, если бы столбцы были одинаковыми каждый раз, df.loc[df['a']==s['a'], df['b']==s['b'], ...]
работал бы просто отлично. Может быть, есть способ генерирования термина в df.loc[ ]
посредством некоторого понимания?
Я представляю, что должен быть питонический / pandas способ сделать это.