Очередная партия высокочастотных операций Python pandas!

Pandas — одна из наиболее широко используемых библиотек в сообществе специалистов по данным. Это мощный инструмент для обработки, очистки и анализа данных.

В этой статье будут приведены примеры наиболее часто используемых функций Pandas и способы их использования на практике. Мы рассмотрим все, от базовых операций с данными до продвинутых методов анализа данных, и к концу этой статьи у вас будет четкое представление о том, как использовать Pandas и сделать ваш рабочий процесс обработки данных более эффективным.

1、pd.read_csv ()

read_csv используется для чтения файла CSV (значения, разделенные запятыми) и преобразования его в кадр данных pandas.

 импортировать панд как pd
 df = pd.read_csv('Популярные_имена_ребенка.csv')

В этом примере функция pd.read_csv считывает файл data.csv и преобразует его в DataFrame со многими параметрами, такими как sep, header, index_col, skiprows, na_values ​​и т. д.

 df = pd.read_csv('Popular_Baby_Names.csv', sep=';', header=0, index_col=0, skiprows=5, na_values='N/A')

В этом примере считывается CSV-файл data.csv, используется ; в качестве разделителя, первая строка в качестве заголовка, первый столбец в качестве индекса, пропускаются первые 5 строк, заменяется N/a на NaN.

2、df.describe ()

Метод df.describe() используется для создания сводной статистики для различных функций DataFrame. Он возвращает новый DataFrame, содержащий количество, среднее значение, стандартное отклонение, минимум, 25-й процентиль, медиану, 75-й процентиль и максимальное значение для каждого числового столбца в исходном DataFrame.

 печать (df.describe())

Некоторые столбцы также можно включить или исключить, передав методу соответствующие параметры, например, исключая нечисловые столбцы.

 df.describe(include='all') # включить все столбцы

 df.describe(exclude='number') # исключить числовые столбцы

3、df.info ()

df.info() может получить краткую сводку DataFrame, включая количество ненулевых значений в каждом столбце, тип данных каждого столбца и использование памяти DataFrame.

 печать (df.info ())

4、df.участок ()

df.plot() может создавать различные типы графиков из DataFrames. По умолчанию он создает линейный график всех числовых столбцов в DataFrame. Но вы также можете указать тип графика, который хотите создать, с помощью параметра kind. Доступные параметры: линия, полоса, полоса, гист, поле, kde, плотность, площадь, круговая диаграмма, разброс и шестигранник.

В следующем примере числовые и категориальные переменные будут нанесены на график с использованием метода .plot(). Для категориальных переменных рисуются гистограммы и круговые диаграммы, а для числовых переменных — ящичные диаграммы.

 df['Gender'].value_counts().plot(kind='bar')

 df['Gender'].value_counts().plot(kind='pie')

 df['Count'].plot(kind='box')

Он также поддерживает многие другие параметры, такие как title ,xlabel ,ylabel ,legend ,grid ,xlim ,ylim ,xticks ,yticks и т. д. df.plot() — это просто удобная оболочка для matplotlib. Таким образом, параметры matplotlib можно использовать в df.plot.

5、df.iloc()

Функция .iloc() используется для выбора строк и столбцов на основе индекса.

 печать (df.iloc [0])

 печать (df.iloc [: 2])

 печать (df.iloc [:, 0])

 печать (df.iloc [:, : 2])

 печать (df.iloc [1, 1])

В приведенном выше примере df.Iloc[0] выбирает первую строку, Iloc[:2] выбирает первые две строки, Iloc[:,0] выбирает первый столбец, Iloc[:,:2] выбирает первые два столбца. , Iloc[1,1] выбирает элемент в позиции (2-я строка, 2-й столбец) (1,1).

.iloc() выбирает только строки и столбцы на основе их целочисленных индексов, поэтому, если вы хотите выбрать строки и столбцы на основе их меток, вы должны использовать метод .loc(), как показано ниже.

6、df.loc ()

Функция .loc() используется для выбора строк и столбцов на основе индекса на основе меток в DataFrame. Он используется для выбора строк и столбцов на основе позиции метки.

 print(df.loc[:, ['Год рождения', 'Пол']])

В приведенном выше примере df.loc[:, ['Год рождения', 'Пол']] выбирает столбцы с именами «Год рождения» и «Пол».

7、df.назначить ()

Функция .assign() используется для добавления нового столбца в DataFrame на основе вычисления существующего столбца. Это позволяет добавлять новые столбцы без изменения исходных данных. Функция возвращает новый DataFrame с добавленными столбцами.

 df_new = df.assign(count_plus_5=df['Count'] + 5)
 df_new.head()

В приведенном выше примере df.assign() сначала используется для создания нового столбца с именем count_plus_5 со значением count + 5.

Исходный df остается неизменным, и возвращается новый df_new с добавленными новыми столбцами. Метод .assign() можно использовать несколько раз в цепочке, чтобы добавить несколько новых столбцов в одну строку кода.

8、df.запрос ()

Функция .query() может фильтровать данные на основе логических выражений. Строки могут быть выбраны из DataFrame с помощью строк запроса, подобных SQL. Функция возвращает новый DataFrame, содержащий только строки, удовлетворяющие логическому выражению.

 df_query = df.query('Количество > 30 и рейтинг < 20')
 df_query.head()

 df_query = df.query("Пол == 'МУЖСКОЙ'")
 df_query.head()

В приведенном выше примере используйте df.query() для выбора строк со значением Count больше 30 и Rank меньше 30, а второй раз используйте df.query() для выбора строк с полем MALE.

Исходный DataFrame df остается неизменным, а df_query возвращает новый отфильтрованный DataFrame.

Метод .query() может использоваться с любым допустимым логическим выражением и полезен, когда вы хотите отфильтровать DataFrame на основе нескольких условий или когда условия сложны и их трудно выразить с помощью стандартных операторов индексации.

Также имейте в виду, что метод .query() медленный, поэтому его следует избегать, если производительность критична.

9、df.sort_values ​​()

Функция .sort_values() может сортировать данные по одному или нескольким столбцам. Он сортирует DataFrame в порядке возрастания или убывания на основе значений одного или нескольких столбцов. Функция возвращает новый DataFrame, отсортированный по указанному столбцу.

 df_sorted = df.sort_values ​​(по = 'Количество')
 df_sorted.head()

 df_sorted = df.sort_values ​​(по = «Ранг», по возрастанию = False)
 df_sorted.head()

 df_sorted = df.sort_values(by=['Количество', 'Ранг'])
 df_sorted.head()

В приведенном выше примере первое использование df.sort_values() сортирует DataFrame по возрастанию «Count», второе использование сортирует по убыванию «Rank», а последнее использование сортирует по нескольким столбцам «Count» и «Rank». .

Метод .sort_values() можно использовать для любого столбца DataFrame, и он полезен, когда вы хотите отсортировать DataFrame на основе нескольких столбцов или когда вы хотите отсортировать DataFrame по столбцам в порядке убывания.

10、df.sample ()

Функция .sample() может случайным образом выбирать строки из фрейма данных. Он возвращает новый DataFrame, содержащий случайно выбранные строки. Эта функция принимает несколько параметров, позволяющих управлять процессом семплирования.

 df_sample = df.sample(n=2, replace=False, random_state=1)
 df_sample

 df_sample = df.sample (n = 3, replace = True, random_state = 1)
 df_sample

 df_sample = df.sample (n = 2, replace = False, random_state = 1, ось = 1)
 df_sample

В приведенном выше примере при первом использовании df.sample() случайным образом выбираются 2 строки, при втором использовании df.sample() случайным образом выбираются 3 строки, а при последнем использовании df.sample() случайным образом выбираются 2 столбца.

Метод .sample() полезен, когда нужно случайным образом выбрать подмножество данных для тестирования или проверки или когда нужно случайным образом выбрать выборку строк для дальнейшего анализа. Параметр random_state полезен для воспроизводимости, а параметр axis=1 позволяет выбирать столбцы.

 

11、df.isnull ()

Метод isnull() возвращает DataFrame той же формы, что и исходный DataFrame, передавая значения True или False, указывающие, отсутствует ли каждое значение в исходном DataFrame. Отсутствующие значения, NaN или None, будут иметь значение True в результирующем DataFrame, а неотсутствующие значения будут иметь значение False.

 df.isnull()

12、df.fillna ()

Метод fillna() используется для заполнения пропущенных значений в DataFrame указанным значением или методом. По умолчанию он заменяет отсутствующие значения на NaN, или вы можете вместо этого указать другое значение.В целом можно использовать следующие параметры:

  • значение: указывает значение, используемое для заполнения отсутствующих значений. Может быть скалярным значением или словарем значений для разных столбцов.

  • метод: указывает метод, используемый для заполнения пропущенных значений. Может быть «ffill» (заполнить вперед) или «bfill» (заполнить назад), или «interpolate» (интерполировать значение), или «pad», или «backfill».

  • ось: указывает ось для заполнения отсутствующих значений. Это может быть 0 (строки) или 1 (столбцы).

  • inplace: заполнить ли отсутствующие значения на месте (изменить исходный DataFrame) или вернуть новый DataFrame.

  • limit: указывает максимальное количество последовательных пропущенных значений для заполнения.

  • downcast: задает словарь значений для понижения типа данных столбца.

 df.fillna(0)
 
 df.fillna (метод = 'ffill')
 
 df.fillna (метод = 'bfill')
 
 df.interpolate()

Следует отметить, что метод fillna() возвращает новый DataFrame и не изменяет исходный DataFrame. Если вы хотите изменить исходный DataFrame, вы можете использовать параметр inplace и установить для него значение True.

 df.fillna(0, inplace=Истина)

13、дф.дропна ()

df.dropna() может удалять отсутствующие или нулевые значения из DataFrame. Он удаляет строки или столбцы, в которых отсутствует хотя бы один элемент из DataFrame. Все строки, содержащие хотя бы одно отсутствующее значение, можно удалить, вызвав df.dropna().

 df = df.dropna()

Если вы хотите удалить только столбцы, содержащие хотя бы одно отсутствующее значение, вы можете использовать df.dropna(axis=1)

 df = df.dropna (ось = 1)

Вы также можете установить параметр thresh, чтобы сохранять только строки/столбцы с по крайней мере пороговым значением, отличным от na/null.

 df = df.dropna(thresh=2)

14、df.drop ()

df.drop() может удалять строки или столбцы из DataFrame с указанными метками. Его можно использовать для удаления одной или нескольких строк или столбцов на основе меток.

Вы можете удалить определенные строки, вызвав df.drop(), передав метку индекса строки, которую вы хотите удалить, и установив для параметра оси значение 0 (по умолчанию 0).

 df_drop = df.drop (0)

Это удалит первую строку DataFrame.

Также можно удалить несколько строк, передав список меток индекса:

 df_drop = df.drop ([0,1])

Это удалит первую и вторую строку DataFrame. Столбцы можно удалить, передав метку столбца, который вы хотите удалить, и установив для параметра оси значение 1:

 df_drop = df.drop(['Количество', 'Ранг'], ось=1)

15、pd.pivot_table ()

pd.pivot_table() может создать сводную таблицу из DataFrame. Сводная таблица — это таблица, которая суммирует и объединяет данные в более осмысленном и организованном виде. В следующем примере будет создана сводная таблица, проиндексированная по этническому признаку и агрегированная по сумме подсчетов. Это используется, чтобы узнать количество каждой этнической принадлежности в наборе данных.

 pivot_table = pd.pivot_table(df, index='Этническая принадлежность', values='Count', aggfunc='sum')
 сводная_таблица.голова()

В сводную таблицу можно включить больше столбцов, указав несколько аргументов индекса и значения, а также можно включить несколько функций aggfunc.

 pivot_table = pd.pivot_table(df, index=['Этническая принадлежность','Пол'], values= 'Количество', aggfunc=['сумма','количество'])
 сводная_таблица.head(20)

16、df.groupby()

df.groupby() используется для группировки строк DataFrame на основе одного или нескольких столбцов. И агрегатные операции могут выполняться над группами, например, вычисление среднего, суммы или подсчета значений в каждой группе.

df.groupby() возвращает объект GroupBy, который затем можно использовать для выполнения различных операций над группами, таких как вычисление суммы, среднего или подсчета значений в каждой группе.

 сгруппировано = df.groupby('Пол')
 печать (сгруппировано. среднее ())

 grouped = df.groupby(['Пол', 'Этническая принадлежность'])
 печать (сгруппировано.сумма())

17、df.транспонировать ()

df.transpose() используется для транспонирования строк и столбцов DataFrame, что означает, что строки становятся столбцами, а столбцы — строками.

 df_transposed = df.transpose()
 df_transposed.head()

Это также может быть достигнуто с помощью атрибута T в df. df.T аналогичен df.transpose().

18、дф.слияние ()

df.merge() может объединять два кадра данных на основе одного или нескольких общих столбцов. Это похоже на соединение SQL. Функция возвращает новый DataFrame, содержащий только строки, в которых совпадают значения в указанных столбцах в двух DataFrames.

 df1 = pd.DataFrame({'ключ': ['A', 'B', 'C', 'D'],
                    'значение': [1, 2, 3, 4]})
 df2 = pd.DataFrame({'ключ': ['B', 'D', 'E', 'F'],
                    'значение': [5, 6, 7, 8]})
 
 merged_df = df1.merge(df2, on='ключ')
 печать (merged_df)

Две dfs объединяются по ключевому столбцу, и к ним добавляются одинаковые имена столбцов x и y.

Вы также можете использовать левые соединения, правые соединения и внешние соединения, передавая соответственно как='left', как='right' или как='outer'.

Также можно объединить несколько столбцов, передав список столбцов параметру on.

 merged_df = df1.merge(df2, on=['key1','key2'])

Вы также можете указать разные имена столбцов для объединения, используя параметры left_on и right_on.

 merged_df = df1.merge(df2, left_on='key1', right_on='key3')

Функция merge() имеет ряд опций и параметров, управляющих поведением слияния, таких как обработка пропущенных значений, сохранение всех строк или только совпадающих строк, объединение столбцов и многое другое.

19、df.переименовать ()

df.rename() может изменить имя одного или нескольких столбцов или строк в DataFrame. Вы можете изменить имена столбцов с помощью параметра columns и имена строк с помощью параметра index.

 df_rename = df.rename(columns={'Count': 'count'})
 df_rename.head()

Также можно переименовать сразу несколько столбцов с помощью словаря:

 df_rename = df.rename(columns={'Количество': 'количество', 'Ранг':'ранг'})
 df_rename.head()

Переименовать индекс:

 df_rename = df.rename(index={0:'первый',1:'второй',2:'третий'})
 df_rename.head()

20、df.to_csv ()

df.to_csv() может экспортировать DataFrame в файл CSV. Соответствует Read_csv выше. Вызовите df.to_csv(), чтобы экспортировать DataFrame в файл CSV:

 df.to_csv('данные.csv')

Разделитель, используемый в файле CSV, можно указать, передав параметр sep. По умолчанию установлено значение «,».

 df.to_csv('путь/к/data.csv', sep='\t')

Также можно сохранить только определенные столбцы DataFrame, передав список имен столбцов в аргумент столбцов, и только определенные строки, передав логическую маску в аргумент индекса.

 df.to_csv('path/to/data.csv', columns=['Rank','Count'])

Вы также можете использовать параметр index, чтобы указать, следует ли включать или не включать индекс фрейма данных в экспортируемый файл CSV.

 df.to_csv('путь/к/data.csv', index=False)

Используйте параметр na_rep, чтобы заменить отсутствующие значения в экспортированном CSV-файле указанным значением.

 df.to_csv('путь/к/data.csv', na_rep='NULL')

Подведем итог

Вышеупомянутые функции 20 панд определенно могут помочь нам выполнить более 80% задач.Мы здесь лишь краткое резюме.Есть много параметров, таких как группировка и слияние, а часто используемые функции можно дополнительно ознакомиться с документацией панд. Это поможет нам работать очень помогает.

Supongo que te gusta

Origin blog.csdn.net/y1282037271/article/details/129241885
Recomendado
Clasificación