2016-12-16 2 views
0

я читать данные из CSV в питон dataframe и установить index_col создать многоуровневый указатель, вот результат:не может получить строки из питона dataframe используя индекс строки

import pandas as pd 
import numpy as np 

path1= "C:\\Users\\IBM_ADMIN\\Desktop\\ml-1m\\ZTXDMEMPEE.csv" 
frame1 = pd.read_csv(path1,encoding='utf8',index_col=['MGR_CNUM','CNUM']) 
frame1 

enter image description here

, когда я использую метод 'IX', чтобы получить строки, используя индекс строки, я получаю неправильный результат,

frame1.ix['002263796'] 

enter image description here

+0

Это правильный результат, но ваш индекс в исходном кадре данных не сортируется, т. Е. Фрагмент данных, для которых 'MGR_CNUM == 002263796' не все сгруппированы. Проверьте вывод 'frame1.sort_index()'. –

+0

Право, я не заметил, что они не сгруппированы вместе, спасибо, – tonyibm

ответ

1

Во-первых. Абсолютно не используйте .ix для всего, кроме смешанной метки и целого выбора местоположения. Выберите iloc или loc. Ваш результат кажется правильным, поскольку выбор индексации работает, выбирая все строки, которые имеют этот индекс. В этом случае - индекс внешнего уровня.

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