如何将pandas dataframe的列转换为原生的Python数据类型?
- 论坛
- 如何将pandas dataframe的列转换为原生的Python数据类型?
9 浏览
如何将pandas dataframe的列转换为原生的Python数据类型?
我有一个数据帧,其中列的数据类型需要映射到Python的本机数据类型。
我希望能够从numpy获取一个字典,并将每列转换为其本机类型。
例如:
{numpy.object_: object,
numpy.bool_: bool,
numpy.string_: str,
numpy.unicode_: unicode,
numpy.int64: int,
numpy.float64: float,
numpy.complex128: complex}
我尝试了astype和pd.to_numeric,但是都不能将列降级到足够的程度。
df['source'] = df['source'].astype(int)返回int32,pd.to_numeric也是如此。
更新:
大多数评论质疑这样做的智慧。networkx读取数据帧并接受np数据类型。然而,由于这个已经有文件记录的错误,图无法使用json_dumps写入:TypeError: Object of type 'int64' is not JSON serializable。
谢谢。