让我定义一个简单的数据框:
In [1]: df = pd.DataFrame({'a': [True, False], 'b': [1, 2]})
'a'
列的数据类型存储为bool
:
In [2]: df['a'].dtype
Out [2]: dtype('bool')
如果我然后将'a'
设置为数据框的索引列:
In [3]: df.set_index('a', inplace=True)
索引列的dtype现在为object
:
In [4]: df.index
Out [4]: Index([True, False], dtype='object', name='a')
如果我使用整数列'b'
作为索引,则索引的dtype符合预期:
In [5]: df.reset_index(inplace=True)
df.set_index('b', inplace=True)
df.index
Out [5]: Int64Index([1, 2], dtype='int64', name='b')
有什么想法吗?
答案 0 :(得分:0)
在哪种情况下,您想将布尔值设为索引?索引应该是该行的唯一标识符,我假设Pandas这样做是为了确保您没有重复的索引。