Как эффективно объединить csv с использованием функции сопоставления строк и агрегирования в python pandas - PullRequest
0 голосов
/ 05 мая 2020

У меня есть 2 фрейма данных, которые я хочу объединить в двух столбцах, штат и район, вот мои два df:

Это мой первый df, который является результатом pd.merge двух df :

фрейм данных 2, где должны быть сопоставлены первое состояние DF, столбцы округа

сейчас это отношение один ко многим, но мне нужно выбрать только те результат, который имеет максимальное значение общей численности населения, а именно. "total_P_total", вот мой пробный код, который будет работать, но я не думаю, что он эффективен для go в l oop для каждого района, этот код ниже дает мне единственную запись для района "dhubri"

final_df = pd.DataFrame()

df = Tot_Pop[Tot_Pop.Name.str.contains('dhubri',case=False)]   
final_df = df[df.TOT_P_Total == df.TOT_P_Total.max()]

final_df.head()

Пожалуйста, помогите мне с коротким и эффективным кодом. Заранее спасибо!!

1 Ответ

0 голосов
/ 05 мая 2020

создать DF для обоих этих словарей

cars = {'Brand': ['Honda','Toyota','Ford','Audi'],
        'Price': [22000,25000,27000,35000]
        }

cars_models = {'Model Name': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
        'Price': [22000,25000,27000,35000]
        }

Объединить DF с именем облака

print (pd.merge(car_df, model_df, on='Price'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...