К присоединиться Список данных данных, скажем, DFS. , использовать Pandas.concat (DFS) Функция, которая сливает произвольное количество данных DataFrames до одного.
При просмотре Stackoverflow Я недавно наткнулся на следующую интересную проблему. Подумав о решениях этих небольших научных проблем данных, вы можете Улучшить навыки науки о данных Так что давайте погрузимся в описание проблемы.
Проблема : Учитывая список панды Dataframes Отказ Как слить их в единое датафарам?
Пример : У вас есть список Пандас Dataframes:
df1 = pd.DataFrame({'Alice' : [18, 'scientist', 24000], 'Bob' : [24, 'student', 12000]}) df2 = pd.DataFrame({'Alice' : [19, 'scientist', 25000], 'Bob' : [25, 'student', 11000]}) df3 = pd.DataFrame({'Alice' : [20, 'scientist', 26000], 'Bob' : [26, 'student', 10000]}) # List of DataFrames dfs = [df1, df2, df3]
Скажем, вы хотите получить следующий файл DataFrame:
Alice Bob 0 18 24 1 scientist student 2 24000 12000 0 19 25 1 scientist student 2 25000 11000 0 20 26 1 scientist student 2 26000 10000
Вы можете быстро попробовать решение в нашей интерактивной оболочке Python:
Упражнение : Распечатайте полученный DataFrame. Запустите код. Какая стратегия слияния используется?
Метод 1: Pandas Concat
Это самый простой и самый простой способ объединить несколько данных.
import pandas as pd df1 = pd.DataFrame({'Alice' : [18, 'scientist', 24000], 'Bob' : [24, 'student', 12000]}) df2 = pd.DataFrame({'Alice' : [19, 'scientist', 25000], 'Bob' : [25, 'student', 11000]}) df3 = pd.DataFrame({'Alice' : [20, 'scientist', 26000], 'Bob' : [26, 'student', 10000]}) # list of dataframes dfs = [df1, df2, df3] df = pd.concat(dfs)
Это генерирует следующий выход:
print(df) ''' Alice Bob 0 18 24 1 scientist student 2 24000 12000 0 19 25 1 scientist student 2 25000 11000 0 20 26 1 scientist student 2 26000 10000 '''
Полученные DataFrames содержит все исходные данные из всех трех данных данных.
Метод 2: Уменьшить + DataFrame Merge
Следующий метод использует функцию уменьшения для нескольких разряженных вместе все словари в списке (независимо от его размера). Объединить два словаря, df.merge ()
Метод используется. Вы можете использовать несколько объединенных стратегий – в примере, вы используете "внешний"
:
import pandas as pd df1 = pd.DataFrame({'Alice' : [18, 'scientist', 24000], 'Bob' : [24, 'student', 12000]}) df2 = pd.DataFrame({'Alice' : [19, 'scientist', 25000], 'Bob' : [25, 'student', 11000]}) df3 = pd.DataFrame({'Alice' : [20, 'scientist', 26000], 'Bob' : [26, 'student', 10000]}) # list of dataframes dfs = [df1, df2, df3] # Method 2 from functools import reduce df = reduce(lambda df1, df2: df1.merge(df2, "outer"), dfs)
Это генерирует следующий выход:
print(df) ''' Alice Bob 0 18 24 1 scientist student 2 24000 12000 3 19 25 4 25000 11000 5 20 26 6 26000 10000 '''
Вы можете найти обсуждение различных стратегий объединения здесь Отказ Если вы бы использовали параметр «Внутренний»
Вы получите следующий результат:
Alice Bob 0 scientist student
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.