无法使用行索引从python数据帧中获取行

时间:2016-12-16 01:50:52

标签: python indexing dataframe

我从csv读取数据到python数据帧,并设置index_col来创建多级索引,结果如下:

SELECT d.cid,
       year(getdate())-year(lastDate) as years
FROM
  ( SELECT c.cid,
           max(s.comp_date) AS lastDate
   FROM sale s
   INNER JOIN item i ON s.itemnum = i.itemnum
   INNER JOIN customer c ON c.cid = i.cid
   GROUP BY c.cid
   UNION SELECT c.cid,
                max(NULL) AS lastDate
   FROM customer c
   LEFT OUTER JOIN item i ON c.cid = i.cid
   WHERE i.cid IS NULL
   GROUP BY c.cid ) d

enter image description here

当我使用方法' ix'使用行索引获取行,我得到不正确的结果,

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

1 个答案:

答案 0 :(得分:1)

首先关闭。绝对不要将.ix用于混合标签和整数位置选择以外的任何其他内容。选择ilocloc。您的结果似乎是正确的,因为索引选择的工作方式是选择具有该索引的所有行。在这种情况下,外层指数。