у меня есть панд dataframe как это ..нарезка панды dataframe с массивом индексов
df = pd.DataFrame({'A' : [5,6,3,4,4,5,6,7,12,13], 'B' :
[1,2,3,5,5,6,7,8,9,10,]})
df
A B
0 5 1
1 6 2
2 3 3
3 4 5
4 4 5
5 5 6
6 6 7
7 7 8
8 12 9
9 13 10
и у меня есть массив индексов
array = np.array([0,1,2,4,7,8])
Теперь я могу подмножество в dataframe с массивом такие индексы
df.iloc[array]
Что дает мне блок данных с индексами, присутствующими в массиве.
A B
0 5 1
1 6 2
2 3 3
4 4 5
7 7 8
8 12 9
Теперь я хочу, чтобы все строки, которые не присутствуют в индексе массива, индекс строки, которые я хочу [3,5,6,9]
Я пытаюсь сделать что-то вроде этого, но это дает мне ошибку.
df.iloc[~loc]
У меня есть индекс массива не список. Когда я использую ваш код, он дает мне ошибку. 'TypeError: unhashable type: 'numpy.ndarray'' – Neil
В приглашении' [7] 'я настроил его как список, но вы также можете указать индекс массива в виде списка. Для этого используйте 'list (array_index)'. – ericmjl
Возможно, вы захотите перевести весь массив 'array_index' в набор в одну строку, перейдя:' set (list (array_index)) '. С этого момента операции набора - это самый быстрый способ получить дополнение к набору индексов, которые вы не хотите. – ericmjl