10 простых методов обработки данных через Pandas на Python
Для чтения данных из файла можно использовать метод read_csv(). Этот метод принимает в качестве аргумента путь к файлу и возвращает объект DataFrame.
import pandas as pd
# Чтение данных из файла CSV
df = pd.read_csv('data.csv')
# Вывод данных
print(df)Для записи данных в файл можно использовать метод to_csv(). Этот метод принимает в качестве аргумента путь к файлу и возвращает None.
# Запись данных в файл CSV
df.to_csv('data.csv')import pandas as pd
# Данные
data = {
'name': ['John', 'Mary', 'Peter'],
'age': [21, 22, 23]
}
# Вывод данных
print(data){'name': ['John', 'Mary', 'Peter'], 'age': [21, 22, 23]}import pandas as pd
# Чтение данных из файла CSV
df = pd.read_csv('data.csv')
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 23
Для фильтрации данных по определенному критерию можно использовать операторы сравнения.
# Фильтрация данных по возрасту df = df[df['age'] > 21] # Вывод данных print(df)
df = pd.read_csv('data.csv')
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 23
df = pd.read_csv('data.csv')
# Фильтрация данных по возрасту
df = df[df['age'] > 21]
# Вывод данных
print(df)name age 1 Mary 22 2 Peter 23
Для сортировки данных по определенному столбцу можно использовать метод sort_values().
# Сортировка данных по возрасту
df = df.sort_values('age')
# Вывод данных
print(df)df = pd.read_csv('data.csv')
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 23
df = pd.read_csv('data.csv')
# Сортировка данных по возрасту
df = df.sort_values('age')
# Вывод данных
print(df)name age 2 Peter 23 1 Mary 22 0 John 21
Для агрегации данных по определенному столбцу можно использовать метод agg().
# Расчет среднего возраста
df['age'].agg('mean')df = pd.read_csv('data.csv')
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 23
df = pd.read_csv('data.csv')
# Расчет среднего возраста
df['age'].agg('mean')22.0
Для визуализации данных можно использовать библиотеку matplotlib.
import matplotlib.pyplot as plt # График распределения возраста plt.hist(df['age']) plt.show()
df = pd.read_csv('data.csv')
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 23
import matplotlib.pyplot as plt
df = pd.read_csv('data.csv')
# График распределения возраста
plt.hist(df['age'])
plt.show()Для обработки пропусков в данных можно использовать методы fillna() или dropna().
# Замена пропусков средним значением df['age'].fillna(df['age'].mean(), inplace=True) # Удаление строк с пропусками df.dropna(inplace=True)
df = pd.read_csv('data.csv')
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter NaN
df = pd.read_csv('data.csv')
# Замена пропусков средним значением
df['age'].fillna(df['age'].mean(), inplace=True)
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 22.0
7. Работа с временными данными
Для работы с временными данными можно использовать библиотеку datetime.
import datetime # Преобразование строки в дату df['date'] = pd.to_datetime(df['date']) # Расчет разницы между датами df['difference'] = df['date'] - df['start_date']
df = pd.read_csv('data.csv')
# Вывод данных
print(df)
name age 0 John 21 1 Mary 22 2 Peter 23
import datetime df['date'] = pd.to_datetime(df['date']) # Вывод данных print(df)
name age date 0 John 21 2023-07-26 1 Mary 22 2023-07-26 2 Peter 23 2023-07-26
Для группировки данных по определенному признаку можно использовать метод groupby().
# Группировка данных по возрасту
grouped_df = df.groupby('age')
# Расчет среднего дохода по возрасту
grouped_df['income'].mean()df = pd.read_csv('data.csv')
# Вывод данных
print(df)
name age 0 John 21 1 Mary 22 2 Peter 23
df = pd.read_csv('data.csv')
# Группировка данных по возрасту
grouped_df = df.groupby('age')
# Расчет среднего дохода по возрасту
grouped_df['income'].mean()22.0
Для соединения двух DataFrame можно использовать методы merge() или concat().
# Соединение двух DataFrame по одному столбцу
df1 = pd.DataFrame({'id': [1, 2, 3], 'name': ['John', 'Mary', 'Peter']})
df2 = pd.DataFrame({'id': [2, 3, 4], 'age': [21, 22, 23]})
# Соединение DataFrame по столбцу id
df = pd.merge(df1, df2, on='id')
# Вывод данных
print(df)df1 = pd.DataFrame({'id': [1, 2, 3], 'name': ['John', 'Mary', 'Peter']})
df2 = pd.DataFrame({'id': [2, 3, 4], 'age': [21, 22, 23]})
# Вывод данных
print(df1)id name 0 1 John 1 2 Mary 2 3 Peter
print(df2)
id age 0 2 21 1 3 22 2 4 23
df1 = pd.DataFrame({'id': [1, 2, 3], 'name': ['John', 'Mary', 'Peter']})
df2 = pd.DataFrame({'id': [2, 3, 4], 'age': [21, 22, 23]})
# Соединение DataFrame по одному столбцу
df = pd.merge(df1, df2, on='id')
# Вывод данных
print(df)id name age 0 2 Mary 22 1 3 Peter 23
Для импорта данных из других библиотек можно использовать методы read_sql(), read_excel(), read_json()
# Импорт данных из базы данных MySQL
df = pd.read_sql('SELECT * FROM table', engine='mysql+pymysql://user:password@host:port/database')
# Экспорт данных в файл Excel
df.to_excel('data.xlsx')# Данные
data = {
'name': ['John', 'Mary', 'Peter'],
'age': [21, 22, 23]
}
# Вывод данных
print(data){'name': ['John', 'Mary', 'Peter'], 'age': [21, 22, 23]}# Данные
data = {
'name': ['John', 'Mary', 'Peter'],
'age': [21, 22, 23]
}
# Импорт данных из списка
df = pd.DataFrame(data)
# Вывод данных
print(df)name age 0 John 21 1 Mary 22 2 Peter 23
# Экспорт данных в файл Excel
df.to_excel('data.xlsx')