检查pandas数据帧是否已编入索引?

时间:2013-07-16 23:15:12

标签: python numpy pandas dataframe

是否可以检查pandas数据帧是否已编入索引?检查数据框上是否曾调用DataFrame.set_index(...)?我可以检查df.index是否是数字列表,但这不是一个完美的测试。

1 个答案:

答案 0 :(得分:2)

一种方法是将其与普通指数进行比较:

pd.Index(np.arange(0, len(df))).equals(df.index)

例如:

In [11]: df = pd.DataFrame([['a', 'b'], ['c', 'd']], columns=['A', 'B'])

In [12]: df
Out[12]:
   A  B
0  a  b
1  c  d

In [13]: pd.Index(np.arange(0, len(df))).equals(df.index)
Out[13]: True

如果它不是普通索引,它将返回False:

In [14]: df = df.set_index('A')

In [15]: pd.Index(np.arange(0, len(df))).equals(df.index)
Out[15]: False