7 полезных операций в pandas при работе с dataframe

Объединение методов str с NumPy для очистки столбцов

Для начала, давайте выведем содержимое столбца Place of Publication:

print('Вывод содержимого столбца Place of Publication')
print(df.head(10))

Результат:

Мы видим, что для некоторых строк место публикации окружено другой ненужной информацией. Если бы мы посмотрели на большее количество значений, мы бы увидели, что это справедливо только для некоторых строк, место публикации которых — ‘London’ или ‘Oxford’. Давайте взглянем на две конкретные записи:

print('Вывод информации о двух конкретных записях:')
print(df.loc)
print(df.loc)

Результат:

Эти две книги были изданы в одном месте, но одна имеет дефис в названии места, а другая — нет. Чтобы очистить этот столбец за один проход, мы можем использовать str.contains() для получения логической маски. Чистим колонку следующим образом:

pub = df
london = pub.str.contains('London')
print('Вывод очищенной колонки:')
print(london)
oxford = pub.str.contains('Oxford')

Далее объединяем их с помощью np.where:

df = np.where(london, 'London',
                                      np.where(oxford, 'Oxford',
                                               pub.str.replace('-', ' ')))
print('Объединение с помощью  np.where')
print(df.head())

Результат:

Здесь функция np.where вызывается во вложенной структуре с условием, представляющим собой серию логических значений, полученных с помощью str.contains(). Метод contains() работает аналогично встроенному ключевому слову in, используемому для поиска вхождения объекта в итерируемом объекте (или подстроке в строке). Используемая замена — это строка, представляющая желаемое место публикации. Мы также заменяем дефисы пробелом с помощью str.replace() и переназначаем столбец в нашем DataFrame.

Исследуем данные: методы и атрибуты

Кроме методов, у датафреймов есть неотъемлемые свойства, которые называются атрибутами. В отличие от методов, они вызываются без скобок в конце.

Как видим, можно посмотреть каждую колонку отдельно. И уже к этой колонке применить метод:

Вывод будет таким:

Метод .describe(), применённый к колонке salary таблицы trips_df, показал нам следующее.

count — количество строк: 1 000.

mean — средний доход составляет 111 935 рублей. Неплохо!

std — под этим сокращением скрыто так называемое стандартное (среднеквадратичное) отклонение, которое показывает величину разброса значений. В нашем случае оно довольно большое, почти 55 000 рублей. Это означает, что доходы у людей в таблице очень разные.

min — минимальное значение доходов из таблицы. Ноль значит, что есть как минимум один человек с нулевым доходом.

В математической статистике процентиль, или перцентиль (ударение на последний слог), — это, если по-простому, пара чисел. Первое из них — процентная доля тех значений рассматриваемой величины, которые не превышают второго числа. Например, фраза «двадцать пятый процентиль доходов туристов составляет 68 000 рублей в месяц» означает, что у 25% наших туристов доход не превышает этой суммы. А у остальных, что очевидно, доход больше.

25% — вот он, тот самый двадцать пятый процентиль. Часто его ещё называют «нижний квартиль».

50% — пятидесятый процентиль, или медиана. В примере она равна 99000, и это значит, что одна половина людей из таблицы получает меньше этой суммы, а другая — больше.

75% — семьдесят пятый процентиль, который также часто называют «верхний квартиль». Означает, что у 75% людей доход меньше 161 000 рублей, а у оставшихся 25% — больше.

max — здесь всё понятно. В нашей таблице есть как минимум один человек с доходом 250 000 рублей в месяц — наверняка это какой-нибудь дата-сайентист: -).

Name: salary, dtype: float64 — служебная информация: название колонки и тип данных в ней.

Превращаем данные: переводим слова в числа

Колонка salary очень удобна с точки зрения машинного обучения, потому что содержит числа и ничего, кроме чисел. Но кроме неё в нашей таблице есть и непонятные для машины колонки с городами, видами отпуска, транспортными предпочтениями и целевым городом — всё это так называемые категориальные признаки.

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

Так, в колонке city у нас имеется 11 городов. Значит, к исходной таблице добавится 11 колонок с их названиями. Если какой-то турист, например, был из Ярославля, то в одной из новых колонок city_Ярославль у него будет стоять единица, а в других десяти «городовых» колонках — нули.

Процесс превращения слов в числа называется кодированием категориальных признаков. Способ, который мы применим, называется прямым кодированием, или, по-английски, one-hot encoding. Есть и другие, более изощрённые способы преобразования нечисловых колонок.

Точно так же мы поступим с колонками предпочтений видов отпуска и транспорта: если какому-то туристу больше нравится поезд, во вновь созданной колонке transport_preference_Поезд будет единица, а в других — нули.

Для прямого кодирования в Pandas имеется функция get_dummies():

Что тут произошло? В новую переменную trips_df_2 с помощью Pandas-функции .get_dummies() мы положили содержимое нашей старой переменной trips_df, но при этом значения колонок ‘city’, ‘vacation_preference’, ‘transport_preference’ превратили в новые колонки.

В итоге у нас получилась таблица из 24 колонок. Выведем список только из их названий с помощью атрибута .columns:

Данные, пригодные для работы: Pandas

Для того чтобы работать с Pandas, эту библиотеку сначала надо импортировать — то есть загрузить её в наш проект, чтобы воспользоваться её преимуществами. Пишем в новой ячейке код и запускаем его на выполнение с помощью кнопки «Запустить» слева от ячейки:

Далее нам нужно прочитать файл с нашей Excel-таблицей и сохранить данные из него в отдельную переменную, с которой и будем работать.

Всегда оставляйте исходные данные нетронутыми.

Добавим новую ячейку с помощью кнопки «+ Код». Переменную назовём trips_df (trips — путешествия, а df — от dataframe).

В этой строчке мы записали в переменную trips_df таблицу, которую библиотека pandas c помощью метода read_excel() прочитала из файла trips_data.xlsx. Параметр index_col указали равным . Это означает, что индексной, то есть самой левой колонкой в таблице, где обычно идут номера строк, мы назначаем колонку с номером 0 из считываемого файла.

В программировании и data science принято, что нумерация очерёдности идёт не с единицы, а с нуля.

Введём и запустим следующий код:

Что мы сделали? Наша переменная trips_df имеет тип данных DataFrame. У каждого типа данных есть свои методы обращения с ними. Чтобы метод сработал, пишут его через точку от переменной, а в скобки методу передают подходящий параметр. В данном случае мы написали там 10 — и это означает, что метод .head() покажет нам первые десять строк, содержащиеся в таблице trips_df.

Изменение индекса фрейма данных

Индекс Pandas расширяет функциональность массивов NumPy, чтобы обеспечить более гибкое нарезание и маркировку. Во многих случаях полезно использовать однозначное идентифицирующее поле данных в качестве индекса. Давайте заменим существующий индекс в BL-Flickr-Images-Book.csv столбцом Identifier, используя set_index:

df = df.set_index('Identifier')
print(' Замена существующего индекса столбцом Identifier:')
print(df.head())

Результат:

Кроме этого, мы можем получить доступ к каждой записи простым способом с помощью loc[]. Хотя loc[] может не иметь всего этого интуитивно понятного имени, он позволяет нам выполнять индексацию на основе меток, которая представляет собой маркировку строки или записи независимо от ее положения:

print('Получение доступа к каждой записи:')
print(df.loc)

Результат:

Другими словами, 206 — это первая метка индекса. Ранее нашим индексом был RangeIndex: целые числа, начинающиеся с 0, аналог встроенного диапазона Python. Передав имя столбца в set_index, мы изменили индекс на значения в Identifier.

Пример 2

Если вы не укажете параметр ignoreIndex = False, вы получите TypeError.

В следующем примере мы попытаемся добавить строку в DataFrame с параметром ignoreIndex = False.

import pandas as pd

data = {'name': ,
	'physics': ,
	'chemistry': }

#create dataframe
df_marks = pd.DataFrame(data)
print('Original DataFrame\n------------------')
print(df_marks)

new_row = {'name':'Geo', 'physics':87, 'chemistry':92}
#append row to the dataframe
df_marks = df_marks.append(new_row, ignore_index=False)

print('\n\nNew row added to DataFrame\n--------------------------')
print(df_marks)

Вывод:

Original DataFrame
------------------
   name  physics  chemistry
0  Amol       77         73
1  Lini       78         85
Traceback (most recent call last):
  File "example1.py", line 14, in <module>
    df_marks = df_marks.append(new_row, ignore_index=False)
  File "C:\Users\PythonExamples\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\frame.py", line 6658, in append
    raise TypeError('Can only append a Series if ignore_index=True'
TypeError: Can only append a Series if ignore_index=True or if the Series has a name

Как говорится в сообщении об ошибке, нам нужно либо предоставить параметр ignore_index = True, либо добавить строку, то есть Series, с именем.

Мы уже видели в примере 1, как добавить строку в DataFrame с ignore_index = True. Теперь посмотрим, как добавить строку с ignore_index = False.

import pandas as pd

data = {'name': ,
	'physics': ,
	'chemistry': }

#create dataframe
df_marks = pd.DataFrame(data)
print('Original DataFrame\n------------------')
print(df_marks)

new_row = pd.Series(data={'name':'Geo', 'physics':87, 'chemistry':92}, name='x')
#append row to the dataframe
df_marks = df_marks.append(new_row, ignore_index=False)

print('\n\nNew row added to DataFrame\n--------------------------')
print(df_marks)

Мы назвали серию данными. Поэтому ignore_index = False не возвращает TypeError, и строка добавляется к DataFrame.

Вывод:

Original DataFrame
------------------
   name  physics  chemistry
0  Amol       77         73
1  Lini       78         85


New row added to DataFrame
--------------------------
   name  physics  chemistry
0  Amol       77         73
1  Lini       78         85
x   Geo       87         92

В этом руководстве по Pandas мы использовали функцию append(), чтобы добавить строку в Pandas DataFrame.

Переименование столбцов и пропуск строк

Часто наборы данных, с которыми вы будете работать, будут иметь либо имена столбцов, которые непросто понять, либо неважную информацию в первых нескольких и/или последних строках, такую как определения терминов в наборе данных или сноски. В этом случае, мы хотели бы переименовать столбцы и пропустить определенные строки, чтобы можно было перейти к необходимой информации с помощью правильных и понятных меток. Чтобы продемонстрировать, как это сделать, давайте сначала взглянем на первые пять строк все также ранее добавленного набора данных olympics.csv:

$ head -n 5 Datasets/olympics.csv
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
,? Summer,01 !,02 !,03 !,Total,? Winter,01 !,02 !,03 !,Total,? Games,01 !,02 !,03 !,Combined total
Afghanistan (AFG),13,0,0,2,2,0,0,0,0,0,13,0,0,2,2
Algeria (ALG),12,5,2,8,15,3,0,0,0,0,15,5,2,8,15
Argentina (ARG),23,18,24,28,70,18,0,0,0,0,41,18,24,28,70

Теперь мы прочитаем его в DataFrame Pandas:

olympics_df = pd.read_csv('Datasets/olympics.csv')
print('Вывод olympics.csv:')
print(olympics_df.head())

Результат:

Это действительно грязно! Поэтому, мы должны пропустить одну строку и установить заголовок как первую (с нулевым индексом) строку и переименовать столбцы. Для того, чтобы удалить 0-ю строку мы используем:

olympics_df = pd.read_csv('Datasets/olympics.csv', header=1)
print('Вывод olympics.csv без 0 строки:')
print(olympics_df.head())

Результат:

Теперь у нас есть правильная строка, установленная в качестве заголовка, и все ненужные строки удалены

Обратите внимание на то, как Pandas изменил имя столбца, содержащего названия стран, с NaN на Unnamed: 0. Чтобы переименовать столбцы, мы будем использовать метод rename() DataFrame, который позволяет вам изменить метку оси на основе сопоставления (в данном случае dict)

Начнем с определения словаря, который сопоставляет текущие имена столбцов (как ключи) с более удобными (значениями словаря):

new_names =  {'Unnamed: 0': 'Country',
              '? Summer': 'Summer Olympics',
              '01 !': 'Gold',
               '02 !': 'Silver',
              '03 !': 'Bronze',
               '? Winter': 'Winter Olympics',
               '01 !.1': 'Gold.1',
              '02 !.1': 'Silver.1',
               '03 !.1': 'Bronze.1',
               '? Games': '# Games',
               '01 !.2': 'Gold.2',
              '02 !.2': 'Silver.2',
              '03 !.2': 'Bronze.2'}

Далее вызываем функцию rename() для нашего объекта:

olympics_df.rename(columns=new_names, inplace=True)

Установка inplace в True указывает, что наши изменения будут внесены непосредственно в объект. Результат:

Пример 1

В этом примере мы создадим DataFrame и добавим новую строку. Она инициализируется как словарь Python, а функция append() используется для добавления строки.

Когда вы добавляете словарь Python в append(), убедитесь, что вы передаете ignore_index = True.

Метод append() возвращает DataFrame с вновь добавленной строкой.

import pandas as pd

data = {'name': ,
	'physics': ,
	'chemistry': ,
	'algebra': }

	
#create dataframe
df_marks = pd.DataFrame(data)
print('Original DataFrame\n------------------')
print(df_marks)

new_row = {'name':'Geo', 'physics':87, 'chemistry':92, 'algebra':97}
#append row to the dataframe
df_marks = df_marks.append(new_row, ignore_index=True)

print('\n\nNew row added to DataFrame\n--------------------------')
print(df_marks)

Запустите указанную выше программу Python, и вы увидите исходный DataFrame, к которому добавлена новая строка.

Original DataFrame
------------------
   name  physics  chemistry  algebra
0  Somu       68         84       78
1  Kiku       74         56       88
2  Amol       77         73       82
3  Lini       78         69       87


New row added to DataFrame
--------------------------
   name  physics  chemistry  algebra
0  Somu       68         84       78
1  Kiku       74         56       88
2  Amol       77         73       82
3  Lini       78         69       87
4   Geo       87         92       97

Очистка всего набора данных с помощью функции applymap

В определенных ситуациях вы увидите, что «грязь» не локализована в одном столбце, а более разбросана. В некоторых случаях было бы полезно применить настраиваемую функцию к каждой ячейке или элементу DataFrame. Метод Pandas .applymap() похож на метод in-построил функцию map() и просто применяет функцию ко всем элементам в DataFrame. Давайте посмотрим на пример. Мы создадим DataFrame из ранее добавленного в проект файла «university_towns.txt»:

$ head Datasets/univerisity_towns.txt
Alabama
Auburn (Auburn University)
Florence (University of North Alabama)
Jacksonville (Jacksonville State University)
Livingston (University of West Alabama)
Montevallo (University of Montevallo)
Troy (Troy University)
Tuscaloosa (University of Alabama, Stillman College, Shelton State)
Tuskegee (Tuskegee University)
Alaska

Мы видим, что у нас есть периодические названия штатов, за которыми следуют университетские города в этом штате: StateA TownA1 TownA2 StateB TownB1 TownB2 …. Если мы посмотрим на то, как названия штатов записаны в файле, мы увидим, что все они имеют в них подстрока . Мы можем воспользоваться этим шаблоном, создав список (state, city) кортежи и обертывание этого списка в DataFrame:

university_towns = []
with open('Datasets/university_towns.txt') as file:
     for line in file:
         if '' in line:

             state = line
         else:

             university_towns.append((state, line))
print('Вывод созданного списка, преобразованного в DataFrame:')
print(university_towns)

Результат:

Мы можем обернуть этот список в DataFrame и установить столбцы как «State» и «RegionName». Pandas возьмет каждый элемент в списке и установит State на левое значение, а RegionName — на правое значение:

towns_df = pd.DataFrame(university_towns,
                         columns=)
print('Вывод результирующего DataFrame:')
print(towns_df.head())

Результат:

Хотя мы могли бы очистить эти строки в цикле for выше, Pandas упрощает это. Нам нужно только название штата и название города, а все остальное можно удалить. Хотя здесь мы могли бы снова использовать методы Pandas .str(), мы также могли бы использовать applymap() для сопоставления вызываемого Python с каждым элементом DataFrame.

6 ответов

Лучший ответ

Когда вы делаете , вы просто получаете одно число, а именно количество строк в DataFrame (то есть длину самого столбца). Если вы хотите применить к каждому элементу в столбце, используйте . Поэтому постарайтесь

154

BrenBarn
13 Дек 2012 в 01:37

В pandas вы можете сделать со своей границей и использовать логический результат для ее фильтрации.

5

YOBEN_S
7 Ноя 2018 в 02:30

Вы можете назначить отфильтрованной версии самого себя:

Это быстрее чем :

98

Max Ghenis
15 Мар 2019 в 03:08

Я остановлюсь на универсальном решении @ User, чтобы предоставить бесплатную альтернативу. Это для людей, направленных сюда на основе названия вопроса (не проблема ОП)

Скажем, вы хотите удалить все строки с отрицательными значениями. Одно решение лайнера является: —

Пояснение: —

Давайте сгенерируем случайный кадр данных нормального распределения 5×5

Пусть условие будет удалять негативы. Логическое значение df, удовлетворяющее условию: —

Логический ряд для всех строк, удовлетворяющих условию

Обратите внимание: если какой-либо элемент в строке не соответствует условию, строка помечается как ложная

Наконец, отфильтруйте строки из фрейма данных на основе условия

Вы можете назначить его обратно в df для фактического удаления против фильтра , сделанного выше

Это можно легко расширить, чтобы отфильтровать строки, содержащие NaN (не числовые записи): —

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

Я хотел бы закончить некоторыми статистическими данными о том, почему решение @ User медленнее, чем фильтрация по необработанным столбцам: —

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

8

Zakir
26 Фев 2019 в 20:00

Если вы хотите отбросить строки фрейма данных на основе некоторого сложного условия в значении столбца, то запись, как показано выше, может быть сложной. У меня есть следующее простое решение, которое всегда работает. Предположим, что вы хотите удалить столбец с заголовком, поэтому сначала поместите этот столбец в список.

Теперь примените некоторую функцию к каждому элементу списка и поместите его в серию панда:

В моем случае я просто пытался получить количество токенов:

Теперь добавьте один дополнительный столбец с указанными выше рядами во фрейм данных:

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

3

Tobsta
30 Июн 2019 в 14:10

Чтобы напрямую ответить на оригинальный заголовок этого вопроса «Как удалить строки из DataFrame pandas на основе условного выражения» (что, как я понимаю, не обязательно является проблемой OP, но может помочь другим пользователям, сталкивающимся с этим вопросом), один из способов сделать это — использовать метод удаления:

Пример

Чтобы удалить все строки, в которых столбец «Score»

Несколько условий

(см. )

Чтобы удалить все строки, где столбец «Score» 20

718

User
18 Июл 2019 в 23:04

13 ответов

Лучший ответ

Не бросайте, просто возьмите строки, где EPS не NA:

557

AMC
16 Фев 2020 в 07:46

Еще одно решение, которое использует тот факт, что :

10

MaxU
20 Апр 2017 в 21:15

Вы можете использовать метод dataframe notnull или наоборот isnull или numpy.isnan:

21

Anton Protopopov
4 Дек 2015 в 07:01

Он может быть добавлен при том, что «&» может использоваться для добавления дополнительных условий, например,

Обратите внимание на то, что при оценке утверждений пандам нужна скобка. aesede
26 Янв 2017 в 23:12

aesede
26 Янв 2017 в 23:12

Другая версия:

1

Georgy
10 Фев 2020 в 09:19

Одним из решений может быть

Другой способ может быть

Надеюсь, это будет полезно.

-1

Amit Gupta
23 Сен 2019 в 11:00

По какой-то причине ни один из ранее представленных ответов не работал для меня. Это основное решение сделало:

Хотя, конечно, это приведет и к появлению строк с отрицательными числами. Так что, если вы хотите их, возможно, стоит добавить это и после.

-1

samthebrand
9 Окт 2015 в 18:25

Этот вопрос уже решен, но …

… также рассмотрим решение, предложенное Wouter в его оригинальный комментарий. Способность обрабатывать недостающие данные, включая , встроена в панды явно. Помимо потенциально улучшенной производительности по сравнению с выполнением вручную, эти функции также имеют множество опций, которые могут быть полезны.

Есть и другие варианты (см. Документы на http: // pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html), включая удаление столбцов вместо строк.

Довольно удобно!

869

ayhan
14 Авг 2017 в 00:04

Самое простое из всех решений:

34

ayhan
8 Авг 2018 в 15:17

Я знаю, что на это уже был дан ответ, но только ради решения панд на этот конкретный вопрос, в отличие от общего описания от Амана (что было замечательно), и в случае, если кто-то еще случится с этим:

120

Kirk Hadley
23 Апр 2014 в 05:37

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

Например, в моем фрейме данных он содержал 82 столбца, из которых 19 содержали хотя бы одно нулевое значение.

Кроме того, вы также можете автоматически удалять столбцы и строки , в зависимости от того, какие значения больше нуля. Вот код, который делает это разумно:

Примечание. Код выше удаляет все ваши нулевые значения. Если вы хотите нулевые значения, обработайте их раньше.

1

Pradeep Singh
17 Фев 2020 в 11:00

Вы можете использовать это:

53

Georgy
22 Окт 2019 в 08:04

Что такое вычисляемые поля?

Вычисляемые поля позволяют создавать новые параметры и показатели для ваших отчетов.

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

Подобно обычным полям, вычисляемые поля имеют определенный тип данных. Например, если ваше вычисляемое поле использует арифметические или агрегационные функции, то тип данных будет «Число», а если текстовую функцию, то «Текст».

Что можно делать с вычисляемыми полями:

  • простые арифметические вычисления (сложение, вычитание, деление и умножение);
  • применять функции (агрегирование, арифметические, функции даты, текстовые и геофункции);
  • использовать условную логику;
  • использовать в формуле для расчета другого вычисляемого поля.

Как создать вычисляемое поле?

  1. Откройте источник данных.
  2. В правом верхнем углу нажмите   .
  3. Введите имя для этого поля (имя должно быть уникальным и не должно повторять существующие названия параметров и показателей).
  4. Введите формулу.
  5. Сохраните новое поле.

Dataframe loc [] примеры

Давайте посмотрим на некоторые примеры использования атрибута объекта DataFrame. Но, во-первых, мы создадим образец DataFrame для нас для использования.

import pandas as pd

d1 = {'Name': , 'ID': , 'Role': }

df = pd.DataFrame(d1)

print('DataFrame:\n', df)

Выход:

DataFrame:
    Name  ID Role
0  John   1  CEO
1  Jane   2  CTO
2  Mary   3  CFO

1. loc [] с одной этикеткой

row_1_series = df.loc
print(type(row_1_series))
print(df.loc)

Выход:


Name    Jane
ID         2
Role     CTO
Name: 1, dtype: object
row_0_2_df = df.loc]
print(type(row_0_2_df))
print(row_0_2_df)

Выход:


   Name  ID Role
0  John   1  CEO
2  Mary   3  CFO

3. Получение единого значения

Мы можем указать этикетки строки и столбцов, чтобы получить одно значение из объекта DataFrame.

jane_role = df.loc
print(jane_role)  # CTO

4. Ломтик с LOC []

Мы также можем передавать ломтик этикеток в том случае, в этом случае этикетки начала и остановки будут включены в объект серии результатов.

roles = df.loc
print(roles)

Выход:

0    CEO
1    CTO
Name: Role, dtype: object

5. loc [] С массивом логических ценностей

row_1_series = df.loc]
print(row_1_series)

Выход:

   Name  ID Role
1  Jane   2  CTO

Поскольку содержит DataFrame 3 строк, длина массива должна быть 3. Если аргумент логической длины массива не совпадает с длиной оси, IndexError: вещь неправильная длина Поднялся.

6. LOC [] с условными утверждениями

data = df.loc > 1]
print(data)

Выход : DataFrame строк, где идентификатор больше 1.

   Name  ID Role
1  Jane   2  CTO
2  Mary   3  CFO

7. DataFrame LOC [] с Callable Function

Мы также можем использовать функцию лямбда с атрибутом dataframe loc [].

id_2_row = df.loc == 2]
print(id_2_row)

Выход:

   Name  ID Role
1  Jane   2  CTO
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: