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