如何将pandas DataFrame的索引dtype更改为int32?

Sta*_*pol 8 python indexing numpy pandas

DataFrame索引的默认dtype是int64,我想将其更改为int32.

我尝试用pd.DataFrame.set_indexNumPy数组更改它int32,也尝试用新的索引dtype=np.int32.它没有用,总是返回索引int64.

有人可以显示一个工作代码来生成int32大小的Pandas索引吗?

我使用conda Pandas v0.20.1.

Pie*_*ton 2

不确定这在实践中是否值得做,但以下应该有效:

class Int32Index(pd.Int64Index):
    _default_dtype = np.int32

    @property
    def asi8(self):
        return self.values

i = Int32Index(np.array([...], dtype='int32'))
Run Code Online (Sandbox Code Playgroud)

(从这里