Индексирование и выбор данных с пандами

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Давайте рассмотрим пример индексации в Pandas. В этой статье мы используем файл "nba.csv ‚" для загрузки CSV, нажмите здесь .

Выбор нескольких строк и нескольких столбцов

Давайте возьмем DataFrame с некоторыми поддельными данными, теперь мы индексируем это DataFrame. Здесь мы выбираем несколько строк и несколько столбцов из DataFrame. Фрейм данных с набором данных.

Предположим, мы хотим выбрать только столбцы Возраст , Колледж и Зарплата для строк с пометками Амир Джонсон и Терри Розье

Наш последний кадр данных w будет выглядеть так:

Выбрать несколько строк и все столбцы

Допустим, мы хотим выбрать строку Amir Jhonson , Terry Rozier и John Holland со всеми столбцами в фрейме данных.

Наш последний кадр данных будет выглядеть так:

Выбор некоторых столбцов и всех строк

Допустим, мы хотим выберите столбцы Возраст, Рост и Зарплата со всеми строками в фрейме данных.

Наш последний кадр данных будет выглядеть так:

< /figure>

Индексирование панд с помощью [] , .loc [] , . iloc [] , Dataframe .loc [] : эта функция используется для меток.
  • Dataframe.iloc [] : это используется для позиций или целых чисел
  • Dataframe.ix [] : эта функция используется как для меток, так и для целых чисел.
  • Вместе они называются индексаторами . Это, безусловно, самые распространенные способы индексации данных. Это четыре функции, которые помогают получать элементы, строки и столбцы из фрейма данных.

    Индексирование фрейма данных с помощью оператора индексации [] : < br>Индексация оператора используется для ссылки на квадратные скобки, следующие за объектом. В , index_col = "Name" )


    # извлечение столбцов с помощью оператора индекса

    first = данные [ "Возраст" ]



    print (первый)

    Выход:

    Выбор нескольких столбцов

    Чтобы выбрать несколько столбцов, мы должны передать список столбцов в операторе индексирования .


    # импортировать пакет pandas

    import pa n das as pd


    # создать фрейм данных из файла CSV

    данные = pd.read_csv ( "nba.csv" , index_col = " Name " )


    # выборка нескольких столбцов с помощью оператора индекса

    first = data [[ "Возраст" , "Колледж" , "Зарплата" ]]




    first

    Выход:

    Индексирование DataFrame с помощью , index_col = "Имя" )


    # извлечь чтение строки с помощью метода loc

    first = < /код> <класс кода s = "plain"> data .loc [ "Avery Bradley" ]

    second = data.loc [ "RJ Hunter" ]



    print (первый, "" , второй)

    Вывод:
    Как показано на выходном изображении, были возвращены две серии, так как оба раза был только один параметр.


    несколько строк

    Чтобы выбрать несколько строк, мы помещаем все метки строк в список и передаем их функции . loc .


    import pandas as pd


    # создать фрейм данных из файла CSV

    data = pd.read_csv ( "nba.csv" , index_col = "Name" )


    # получить несколько строк с помощью метода loc

    first = data.loc [[ "Эйвери Брэдли" , " RJ Hunter " ]]

    print (первый)

    < /tr>

    Вывод:

    Выбор двух строк и трех столбцов

    Чтобы выбрать две строки и три столбца, мы выбираем две строки мы хотим выбрать три столбца и поместить их в отдельный список следующим образом:


     Dataframe.loc [["row1", "row2"], ["column1", "column2", "column3"] ] 

    import pandas as pd


    # создать фрейм данных из файла CSV

    data = pd.read_csv ( "nba.csv" < класс кода = "обычный">, index_col <класс кода = "ключевое слово"> = "Name" )


    # извлечение две строки и три столбца с использованием метода loc

    first = data.loc [[ "Avery Bradley" , "RJ Hunter" ] ,

    [ "Команда" , "Число" , "Position" ]]



    print (first)

    Вывод:


    Выбор всех строк и некоторых столбцов

    Чтобы выбрать все строки и некоторые столбцов, мы используем одно двоеточие [:], для выбора всех строк и список некоторых столбцов, которые мы хотим выбрать следующим образом:

     Dataframe.loc [[: , ["column1", "column2", "column3"]] 

    < tbody>

    import pandas as pd


    # создать фрейм данных из файла CSV

    данные = pd.read_csv ( "nba.csv" , index_col = "Name" )


    <код с lass = " comments "> # выборка всех строк и некоторых столбцов с помощью метода loc

    first = data.loc [:, [ "Команда" , "Число" , "Позиция" ]]



    print ( сначала)

    Выход:

    Индексирование кадра данных с использованием . iloc [] :
    Эта функция позволяет нам получать строки и столбцы по положению. Для этого нам нужно указать позиции нужных нам строк, а также позиции нужных нам столбцов. df.iloc очень похож на df.loc , но использует для выбора только целые ячейки.

    Одна строка выбор

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

    import pandas as pd


    # создать фрейм данных из файла CSV

    data = pd.read_csv ( "nba.csv" , index_col = "Имя" )



    # iloc извлечение строк

    row2 = data.iloc [ 3 ]




    печать (row2)

    Выход:


    , index_col = "Name" )



    # получение нескольких строк с помощью метода iloc

    row2 = data.iloc [[ 3 , 5 , 7 ]]




    row2

    Выход:


    Выбор двух строк и двух столбцов

    Чтобы выбрать две строки и два столбца, мы создаем список из 2 целых чисел для строк и список из 2 целых чисел для столбцов, а затем передаем функцию .iloc[] .


    import pandas as pd


    # создать фрейм данных из CSV-файл

    данные = pd.read_csv ( "nba.csv" , index_col = "Name" )



    # извлечение из двух строк и двух столбцов с использованием метода iloc

    row2 = data.iloc [[[ 3 , 4 ], [ 1 , 2 ]]

    print (row2)

    Выход:

    Выберите все строки и некоторые столбцы

    Чтобы выбрать все строки и некоторые столбцы, мы используем одно двоеточие [:], для выбора всех строк, а для r столбцов, мы составляем список целых чисел и затем передаем функцию .iloc[] .



    import pandas as pd


    # создать фрейм данных из файла CSV

    data = pd.read_csv ( "nba.csv" , index_col = "Имя" )



    # извлечение всех строк и некоторых столбцов с помощью метода iloc

    row2 = data.iloc [:, [ 1 , 2 ]]

    print (row2)

    Выход:

    Индексирование с использованием .ix [] as .loc[]

    Чтобы выбрать одну строку, мы помещаем метку одной строки в функцию .ix . Эта функция действует как .loc [] если мы передаем метку строки в качестве аргумента функции.


    # импортировать пакет pandas

    import pandas as pd


    # создать фрейм данных из файла CSV

    data = pd.read_csv ( " nba.csv " , index_col = "Name" )


    # получение строки методом ix

    first = data.ix [ "Эйвери Брэдли" ]




    print (первый)

    Выход:

    Выбор одной строки с помощью .ix [] as , index_col = "Name" )


    # получение строки методом ix

    first = data.ix [ 1 < класс кода ="p lain">]


    print (первый)

    Выход:

    < класс фигуры = aligncenter amp-wp-inline-71b6f2deb98f54bf23d07f2b79530929>


    Методы индексирования в DataFrame

    < /tr>
    Function Описание
    Dataframe.head () Возвращает верхние n строки фрейма данных.
    Dataframe.tail () Возвращает нижние n строки фрейма данных.
    Dataframe.at [] Доступ к одному значению для пары меток строки/столбца.
    Dataframe.iat [] Доступ к одному значению для пары строка/столбец по целочисленной позиции.
    Dataframe.tail () Чисто целочисленное индексирование на основе местоположения для выбора по позиции.
    DataFrame.lookup() Функция "причудливого индексирования" на основе меток для DataFrame.
    DataFrame .pop () Возврат элемента и удаление из фрейма.
    DataFrame.xs() Возвращает поперечное сечение (строки или столбцы) из DataFrame.
    DataFrame.get() Получить элемент из объекта по заданному ключу (столбец DataFrame, фрагмент панели и т. д.).
    DataFrame.isin() Возвратить логическое значение DataFrame, показывающее, каждый элемент в DataFrame содержится в значениях.
    DataFrame.where () Возвращает объект той же формы, что и self, и чьи соответствующие записи взяты из self, где cond имеет значение True, а в противном случае - из other.< /td>