#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_'))