小编Emr*_*din的帖子

自动优化 Pandas 数据类型

我正在使用 pandas 库研究一种算法。我在工作时遇到了一个有趣的问题。

当我将数据帧对象写入文件并再次读取时,数据帧会发生变化。当我排查原因时,发现是类型造成的。例如,我正在创建一个如下所示的数据框;

import pandas as pd

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(d)
df.col1 = df.col1.astype('int8')

df.info()
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 2 columns):
col1    2 non-null int8
col2    2 non-null int64
dtypes: int64(1), int8(1)
memory usage: 98.0 bytes
Run Code Online (Sandbox Code Playgroud)

它只有 98 字节。

我将其写入文件并再次读取。

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 2 columns):
col1    2 non-null int8
col2    2 non-null int64
dtypes: int64(1), int8(1) …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

5
推荐指数
3
解决办法
4262
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1