2016-05-05 3 views
-2

Я в основном перехожу из R в Python. Я хотел подмножить свой фрейм данных на основе столбца. Пройдя через переполнение стека answer, я нашел решение.Какова цель .loc в кадре данных pandas

Но рассмотрим следующий код:

import pandas as pd 
import numpy as np 
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(), 
        'B': 'one one two three two two one three'.split(), 
        'C': np.arange(8), 'D': np.arange(8) * 2}) 

df1 = df[df['A'] == "foo"] 
df1 
df2 = df.loc[df['A'] == "foo"] 
df2 

Оба df1 и df2 одинаковы.

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

+0

Пожалуйста, прочтите [это] (http://pandas.pydata.org/pandas-docs/stable/indexing.html#different-choices-for-indexing) и [это] (http: //pandas.pydata. org/pandas-docs/stable/indexing.html # indexing-view-versus-copy), если у вас есть дополнительные вопросы, тогда отредактируйте свой вопрос – EdChum

ответ

1

Я сам изучаю панды, поэтому извините ответ, который не является подробным. Функция .loc имеет функцию «location», позволяющую отметить место в фрейме данных DF [1,3] в R. Или разрешить вам вводить две координаты сетки, в противном случае вы могли бы иметь только один параметр.

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

Он включен в качестве функции индексации на сайте http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html

1

Метод LOC дает прямой доступ к dataframe, позволяя для назначения определенных местоположений dataframe. Это отличается от номенклатуры ix или скобки, которая создает копию запрошенной части фрейма. Следствием этого является то, что вы не можете назначать данные в виде данных с помощью этих методов. Метод iloc имеет те же характеристики, что и loc.

Смежные вопросы