У меня есть список данных.Каждый кадр данных имеет столбец с именем probe_id
.Я хочу получить все строки, где probe_id
существует во всех фреймах данных.Другими словами, я хочу найти пересечение фреймов данных на probe_id
.
Например, скажем, у меня есть 4 фрейма данных, и каждый фрейм данных имеет probe_id '0001'
.В этом случае я бы вернул этот ряд.Если probe_id
отсутствует в любом из фреймов данных, я хочу пропустить эту строку.
Кроме того, поскольку значения в других столбцах каждого фрейма данных могут отличаться, мне нужно убедиться, что эти данные непотерян.
Итак, если каждый из 4-х кадров данных имеет 2 столбца, результатом должен быть новый фрейм данных с 8 столбцами, в котором записи probe_id
существуют во всех 4-х фреймах данных.
Яиспользуя:
z = reduce(lambda x, y: pd.merge(x, y, on='PROBE_ID', how='inner'), dataframes)
Кажется, это работает, но я не уверен, и есть слишком много записей для проверки.Я не совсем уверен в использовании reduce
и lambda
, поэтому я был бы признателен, если бы кто-то мог дать мне знать, если это правильно или нет, и если нет, как я мог бы достичь своей цели.