Я хотел бы напечатать всю строку, когда два разных фрейма данных имеют общее значение в двух разных столбцах. Я могу идентифицировать их, но вместо того, чтобы возвращать всю строку, я мог только выяснить, как вернуть логическое значение, как показано ниже:
df1 = pd.DataFrame(np.array([[1, 2, 1],
[4, 55, 6],
[1, 8, 88]]),
columns=['col1', 'col2', 'col3'])
df1
>>
col1 col2 col3
0 1 2 1
1 4 55 6
2 1 8 88
df2 = pd.DataFrame(np.array([[333, 1, 2],
[55, 8, 88],
[8, 5, 6]]),
columns=['col1', 'col2', 'col3'])
df2
>>
col1 col2 col3
0 333 1 2
1 55 8 88
2 8 5 6
# Return row where df1["col2"] and df2["col1"] have the same values
# the output should print the rows of index 1 and 2
df1['col2'].isin(df2['col1'])
>>
0 False
1 True
2 True
Name: col2, dtype: bool
Вам нужно напечатать
*row*, not the result of the check. Use
df[где <условие>]`.