Pandas: выбор определенных строк и определенных столбцов с помощью .loc() и/или .iloc()Python

Программы на Python
Ответить
Anonymous
 Pandas: выбор определенных строк и определенных столбцов с помощью .loc() и/или .iloc()

Сообщение Anonymous »

У меня есть кадр данных Pandas, который выглядит следующим образом:

Код: Выделить всё

df = pd.DataFrame ({

'id': [1, 17, 19, 17, 22, 3, 0, 3],
'color': ['Green', 'Blue', 'Orange', 'Yellow', 'White', 'Silver', 'Purple', 'Black'],
'shape' : ['Circle', 'Square', 'Circle', 'Triangle', 'Rectangle', 'Circle', 'Square', 'Triangle'],
'person' : ['Sally', 'Bob', 'Tim', 'Sue', 'Bill', 'Diane', 'Brian', 'Sandy']

})

df

id      color     shape       person
0   1       Green     Circle      Sally
1   17      Blue      Square      Bob
2   19      Orange    Circle      Tim
3   17      Yellow    Triangle    Sue
4   22      White     Rectangle   Bill
5   3       Silver    Circle      Diane
6   0       Purple    Square      Brian
7   3       Black     Triangle    Sandy
Я установил цветной индекс:

Код: Выделить всё

df.set_index ('color', inplace = True )

Код: Выделить всё

          id    shape       person
color
Green     1     Circle      Sally
Blue      17    Square      Bob
Orange    19    Circle      Tim
Yellow    17    Triangle    Sue
White     22    Rectangle   Bill
Silver    3     Circle      Diane
Purple    0     Square      Brian
Black     3     Triangle    Sandy
Я хотел бы выбрать только столбцы id и person и только индексы 2 и 3. Для этого я использую следующее:

Код: Выделить всё

new_df = df.loc[:, ['id', 'person']][2:4]

new_df

id    person
color
Orange    19    Tim
Yellow    17    Sue
Похоже, что это не самый «элегантный» подход. Вместо того, чтобы использовать [2:4] для разделения строк, есть ли способ эффективно объединить .loc (чтобы получить столбцы) и .iloc (чтобы получить строки)?
Спасибо!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»