1

astype我正在尝试使用该函数以与 NumPy 中使用的方式相同的方式转换 DataFrame 的类型。

首先在 NumPy 中:

In [175]: x = np.rec.array([('a','1'),('b','2')],names='col1,col2')

In [176]: x
Out[176]: 
rec.array([('a', '1'), ('b', '2')], 
    dtype=[('col1', '|S1'), ('col2', '|S1')])

In [177]: dt=[('col1', '|S1'), ('col2', 'i8')]

In [178]: x.astype(dt)
Out[178]: 
rec.array([('a', 1), ('b', 2)], 
    dtype=[('col1', '|S1'), ('col2', '<i8')])

然后在熊猫中:

In [182]: y = DataFrame([('a','1'),('b','2')], columns=['col1','col2'])

In [183]: y
Out[183]: 
  col1 col2
0    a    1
1    b    2

In [184]: y.astype(dt)
Out[184]: ---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
...
NotImplementedError: Not implemented for this type

我正在使用 pandas 0.7.3 和来自http://pandas.sourceforge.net/generated/pandas.DataFrame.astype.html的 pandas 0.7.0 文档。怎么了?

4

1 回答 1

2

DataFrame 不是结构化数组,因此在数据类型方面的功能不同。您在此处显示的记录数组操作没有等效的 API(至少据我所知)。

于 2012-07-26T15:30:56.780 回答