ВПР / сопоставление значения из одного фрейма данных в другой фрейм данных в Python

#python #pandas

#python #pandas

Вопрос:

Я хочу сделать что-то похожее на ВПР в python. Вот фрейм данных, в котором я хочу найти значение ‘Flow_Rate_Lupa’введите описание изображения здесь

И вот фрейм данных, который я хочу заполнить данными, просмотрев тот же месяц день, чтобы заполнить недостающее значение. Есть ли кто-нибудь, кто поможет мне решить, как это сделать QAQвведите описание изображения здесь

Ответ №1:

Обычно я объединяю два фрейма данных и определяю индикатор, затем отфильтровываю значения, в которых индикатор указывает, что оба значения данных находятся в обоих фреймах данных.

 import pandas as pd

mergedData= pd.merge(df1,df2, how='left' ,left_on='Key1', right_on='Key2', indicator ='Exists')
filteredData = mergedData[mergedData[Exists]='both']
 

Ответ №2:

Используйте DataFrame.merge с левым соединением и замените отсутствующие значения с помощью Series.fillna with DataFrame.pop для использования и удаления столбца:

 df = df2.merge(df1, on=['month','day'], how='left', suffixes=('','_'))
df['Flow_Rate_Lupa'] = df['Flow_Rate_Lupa'].fillna(df.pop('Flow_Rate_Lupa_'))