Преобразование списка словарей в DataFrame pandas — распространенная задача при анализе и манипулировании данными. В этой статье блога мы рассмотрим различные методы эффективного выполнения этой задачи с примерами кода для каждого метода. Независимо от того, являетесь ли вы новичком или опытным специалистом по данным, эта статья предоставит вам подробное руководство о том, как преобразовать список словарей в DataFrame.
Метод 1: использование конструктора DataFrame pandas
Самый простой и понятный способ преобразовать список словарей в DataFrame — использовать конструктор DataFrame pandas. Вот пример:
import pandas as pd
data = [
{'Name': 'John', 'Age': 28, 'Country': 'USA'},
{'Name': 'Alice', 'Age': 32, 'Country': 'Canada'},
{'Name': 'Bob', 'Age': 45, 'Country': 'UK'}
]
df = pd.DataFrame(data)
print(df)
Выход:
Name Age Country
0 John 28 USA
1 Alice 32 Canada
2 Bob 45 UK
Метод 2: использование функции pandas json_normalize()
Если ваш список словарей содержит вложенные структуры, вы можете использовать функцию json_normalize()из pandas, чтобы сгладить данные и преобразовать их в DataFrame. Вот пример:
import pandas as pd
data = [
{'Name': 'John', 'Age': 28, 'Country': {'Name': 'USA', 'Code': 'US'}},
{'Name': 'Alice', 'Age': 32, 'Country': {'Name': 'Canada', 'Code': 'CA'}},
{'Name': 'Bob', 'Age': 45, 'Country': {'Name': 'UK', 'Code': 'GB'}}
]
df = pd.json_normalize(data)
print(df)
Выход:
Name Age Country.Name Country.Code
0 John 28 USA US
1 Alice 32 Canada CA
2 Bob 45 UK GB
Метод 3: использование функции pandas from_records()
Еще один эффективный метод преобразования списка словарей в DataFrame — использование функции from_records()в pandas. Этот метод позволяет явно указать имена столбцов. Вот пример:
import pandas as pd
data = [
{'Name': 'John', 'Age': 28, 'Country': 'USA'},
{'Name': 'Alice', 'Age': 32, 'Country': 'Canada'},
{'Name': 'Bob', 'Age': 45, 'Country': 'UK'}
]
df = pd.DataFrame.from_records(data, columns=['Name', 'Age', 'Country'])
print(df)
Выход:
Name Age Country
0 John 28 USA
1 Alice 32 Canada
2 Bob 45 UK
Метод 4. Использование функции pandas concat()
Если у вас есть несколько списков словарей, которые вы хотите объединить в один DataFrame, вы можете использовать функцию concat()в pandas. Вот пример:
import pandas as pd
data1 = [
{'Name': 'John', 'Age': 28, 'Country': 'USA'},
{'Name': 'Alice', 'Age': 32, 'Country': 'Canada'}
]
data2 = [
{'Name': 'Bob', 'Age': 45, 'Country': 'UK'},
{'Name': 'Eva', 'Age': 29, 'Country': 'Germany'}
]
df = pd.concat([pd.DataFrame(data1), pd.DataFrame(data2)])
print(df)
Выход:
Name Age Country
0 John 28 USA
1 Alice 32 Canada
0 Bob 45 UK
1 Eva 29 Germany
В этой статье мы рассмотрели несколько эффективных методов преобразования списка словарей в DataFrame pandas. Мы рассмотрели методы, использующие конструктор DataFrame, функции json_normalize(), from_records() и concat(). Эти методы обеспечивают гибкость и простоту использования при работе с различными структурами данных. Используя эти методы, вы сможете эффективно преобразовывать свои данные и раскрыть возможности pandas для дальнейшего анализа и манипулирования.