我正在使用 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)