Как отфильтровать строку в середине кадра данных pandas по позиции индекса - PullRequest
1 голос
/ 18 июня 2020

У меня есть pandas фрейм данных из 20 000 наблюдений. Я хочу отфильтровать только наблюдение 879. Я пробовал следующее:

df.iloc [-879,]

Это дало только имена столбцов. Как мне выделить один столбец c в середине фрейма данных?

Было предложено следующее: Как получить значение из ячейки фрейма данных?

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

Итак, мне нужен индекс [0: 878] и индекс [880:]

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Вы можете попробовать np.r_:

df.iloc[np.r_[:879, 880:]]

или drop:

df.drop(df.index[879])
0 голосов
/ 18 июня 2020

Можно попробовать что-то подобное. Вместо 1 вставьте желаемый индекс для фильтрации.

import pandas as pd
df = pd.DataFrame( {'a':[2,4,6], 'b':[7,3,5], 'c':[1,2,7] } )
row_ilocs = [ x for x in range( df.shape[1]) if x != 1 ]
df = df.iloc[ row_ilocs, :  ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...