20 важнейших сниппетов кода Python для специалистов по исследованию данных

Благодаря своей универсальности и богатой экосистеме библиотек Python является основным языком для специалистов по обработке данных. В этой статье мы рассмотрим 20 важных фрагментов кода на Python, которые должен иметь в своем арсенале каждый специалист по анализу данных. Эти фрагменты охватывают широкий спектр задач по манипулированию и анализу данных.
1. Импорт библиотек:
Всегда начинайте с импорта необходимых библиотек для вашего проекта.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
2. Чтение данных:
Загрузка данных из различных источников, таких как CSV, Excel или базы данных SQL.
# From CSV
data = pd.read_csv('data.csv')
# From Excel
data = pd.read_excel('data.xlsx')
# From SQL
import sqlite3
conn = sqlite3.connect('database.db')
data = pd.read_sql_query('SELECT * FROM table_name', conn)
3. Проверка данных:
Быстро проверьте несколько первых строк и основную статистику данных.
data.head()
data.describe()
4. Обработка пропущенных значений:
Работа с отсутствующими данными с помощью pandas.
data.dropna() # Remove rows with missing values
data.fillna(value) # Fill missing values with a specific value
5. Выбор данных:
Выберите определенные столбцы или строки из кадра DataFrame.
data['column_name']
data.loc[data['condition']]
6. Фильтрация данных:
Фильтровать данные на основе условий.
data[data['column'] > 50]
data[(data['column1'] > 30) & (data['column2'] < 10)]
7. Группировка и агрегация:
Агрегирование данных с помощью операций group-by.
data.groupby('category')['value'].mean()
8. Визуализация данных:
Создание графиков и диаграмм для исследования данных.
plt.hist(data['column'], bins=20)
sns.scatterplot(x='x', y='y', data=data)
9. Выборка данных:
Возьмите случайные выборки из набора данных.
sample = data.sample(n=100)
10. Pivot Tables:
Создание таблиц pivot для обобщения данных.
pd.pivot_table(data, values='value', index='category', columns='date', aggfunc=np.sum)
11. Объединение данных:
Объединение данных из нескольких источников.
merged_data = pd.concat([data1, data2], axis=0)
12. Трансформация данных:
Применение функций к столбцам данных.
data['new_column'] = data['old_column'].apply(lambda x: x * 2)
13. Операции с датой и временем:
Манипулировать данными о дате и времени.
data['date_column'] = pd.to_datetime(data['date_column'])
data['month'] = data['date_column'].dt.month
14. Машинное обучение с помощью Scikit-Learn:
Обучение и оценка моделей машинного обучения.
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LinearRegression()
model.fit(X_train, y_train)
15. Сохранение данных:
Сохраните обработанные данные в файл.
data.to_csv('processed_data.csv', index=False)
16. Работа с выбросами:
Обнаружение и устранение провалов в данных.
Q1 = data['column'].quantile(0.25)
Q3 = data['column'].quantile(0.75)
IQR = Q3 - Q1
data = data[(data['column'] >= Q1 - 1.5 * IQR) & (data['column'] <= Q3 + 1.5 * IQR)]
17. Обработка текста:
Выполнять задачи обработки текста.
text = "This is a sample text."
words = text.split()
18. Статистические тесты:
Проведение статистических испытаний для проверки гипотез.
from scipy.stats import ttest_ind
result = ttest_ind(data['group1'], data['group2'])
19. Регулярные выражения:
Используйте regex для расширенного сопоставления текстовых шаблонов.
import re
matches = re.findall(r'\b\d+\b', text)
20. Обработка ошибок:
Обработка исключений для обеспечения бесперебойного выполнения кода.
try:
# Code that may raise an exception
except Exception as e:
print(f"An error occurred: {e}")
Заключение
Эти 20 незаменимых фрагментов кода Python помогут вам сэкономить время и силы при решении различных задач в области науки о данных. Будь то очистка данных, их изучение или построение моделей машинного обучения, наличие этих инструментов в вашем распоряжении неоценимо. Изучение и освоение этих фрагментов позволит вам стать более эффективным и результативным специалистом по изучению данных.