import pandas as pd
pd.read_csv('path_to_your.csv', encoding='Windows-1251', sep=';')
Он должен находится в той папке где сохранен сам файл .py
pd.read_csv('https://pythonua.blogger.com/myfile.csv', delimiter=';')
df.head(), df.tail(), df.sample(5)
df[[' one', ' two']]
data.merge(df) то же самое, что и: df.merge(data) Разница будет лишь в порядке колонок в финальной таблице.
Чтобы все значения оставались в объединенном DataFrame:
df(data, how='outer')
Для вывода информации только из одной таблицы:
how='left' или how='rigth', df.merge(data, how='left')
Для замены значения NaN на любое другое:
df.merge(data, how='left').fillna('unknown')
Для автоматизации важны статистические характеристики:
df['value'].mean() — cреднее
df['value'].var() — дисперсия DD
df['value'].std() — среднеквадратичное отклонение
df['value'].median() — медиана
df['value'].quantile(edges_list) — квантили
df['value'].describe() — выводит mean, std, квартили
df['value'].mean() — cреднее
df['value'].var() — дисперсия DD
df['value'].std() — среднеквадратичное отклонение
df['value'].median() — медиана
df['value'].quantile(edges_list) — квантили
df['value'].describe() — выводит mean, std, квартили
Метод df.info() выводит на экран названия столбцов, их типы и количество заполненных ячеек.
Метод df.describe() выводит на экран статистические характеристики значений в столбцах.
Метод df['age'].unique() выводит на экран все уникальные значения в столбце age.
df[df['age'].isna()] выводит на экран все строки df с незаполненными ячейками столбца age.
df[100:130] выводит на экран строки с 100 по 129 датафрейма df.
Метод df.pop('name') удаляет столбец name из датафрейма df.
2. students_performance.columns = [x.replace(" ", "_") for x in students_performance.columns]
3. students_performance.columns=students_performance.columns.str.replace(' ','_')
4. students_performance = students_performance.rename(columns=lambda x: x.replace(' ', '_'))
Фильтры:
df.filter(like='lunch', axis=1)
где:
like='lunch' - фильтр по ключевому слову в заголовке столбца\строки
axis=1(по столбцу), 0(по строке)
Запрос:
df.query('reading_score>90 & reading_score<100' )
Сохраняет файлы с добавление в названии текущей даты:
from datetime import datetime
today_day=datetime.today().strftime('%Y-%m-%d')
file_name='money_title_{}.csv'
file_name.format(today_day)
Удаление последнего слова в столбце таблицы:
def splite_brand(brand_name_data):
return brand_name_data.split(' ')[-1]
brand_name='Maravilla 600 g store_brand'
user_df.brand_info.apply(splite_brand)
или
user_df.brand_info.apply(lambda x: x.split(' ')[-1])
Метод df.describe() выводит на экран статистические характеристики значений в столбцах.
Метод df['age'].unique() выводит на экран все уникальные значения в столбце age.
df[df['age'].isna()] выводит на экран все строки df с незаполненными ячейками столбца age.
df[100:130] выводит на экран строки с 100 по 129 датафрейма df.
Метод df.pop('name') удаляет столбец name из датафрейма df.
Скопировать только нужные столбцы new_df=df[['age', 'length']].copy()
Метод .fillna(), df.fillna(df.median(), inplace=True)
заполняет пустые ячейки датафрейма df медианными значениями
Переименовать колонки:
1. students_performance = students_performance\
.rename(columns=
{'parental level of education': 'parental_level_of_education',
'test preparation course': 'test_preparation_course',
'math score': 'math_score',
'reading score': 'reading_score',
'writing score': 'writing_score'})
3. students_performance.columns=students_performance.columns.str.replace(' ','_')
4. students_performance = students_performance.rename(columns=lambda x: x.replace(' ', '_'))
df.filter(like='lunch', axis=1)
где:
like='lunch' - фильтр по ключевому слову в заголовке столбца\строки
axis=1(по столбцу), 0(по строке)
df.query('reading_score>90 & reading_score<100' )
from datetime import datetime
today_day=datetime.today().strftime('%Y-%m-%d')
file_name='money_title_{}.csv'
file_name.format(today_day)
Удаление последнего слова в столбце таблицы:
def splite_brand(brand_name_data):
return brand_name_data.split(' ')[-1]
brand_name='Maravilla 600 g store_brand'
user_df.brand_info.apply(splite_brand)
или
user_df.brand_info.apply(lambda x: x.split(' ')[-1])
idxmin – индекс минимального значения
idxmax – индекс максимального значения
Добавление колонки:
df.append(df2, ignore_index=True)
Группировка с подсчетом количества:
mes=mes.groupby(['borough', 'pickup_month' ], as_index=False ).agg({'pickups':'count'})
idxmax – индекс максимального значения
Добавление колонки:
df.append(df2, ignore_index=True)
Группировка с подсчетом количества:
mes=mes.groupby(['borough', 'pickup_month' ], as_index=False ).agg({'pickups':'count'})