将 pandas 数据帧保存到 pickle 和 csv 之间有什么区别?
What is the difference between save a pandas dataframe to pickle and to csv?
我正在学习pythonpandas。
我看到一个教程,其中显示了两种保存 pandas 数据帧的方法。
pd.to_csv('sub.csv')
并打开 pd.read_csv('sub.csv')
pd.to_pickle('sub.pkl')
并打开 pd.read_pickle('sub.pkl')
教程说to_pickle
是将dataframe保存到磁盘。我对此感到困惑。因为当我使用 to_csv
时,我确实看到文件夹中出现了一个 csv 文件,我认为它也保存到磁盘上了吧?
一般来说,为什么我们要使用 to_pickle
保存数据帧而不是将其保存为 csv 或 txt 或其他格式?
Pickle 是一种存储 Pandas 数据帧的序列化方式。基本上,您是将数据帧的确切表示形式写到磁盘上。这意味着列的类型和索引是相同的。如果您只是将文件保存为 csv
,则只是将其存储为逗号分隔列表。根据您的数据集,当您重新加载它时,一些信息会丢失。
您可以在 python、here.
中阅读有关 pickle 库的更多信息
csv
- ✅人类可读
- ✅跨平台
- ⛔慢
- ⛔更多磁盘space
- ⛔在某些情况下不保留类型
泡菜
- ✅快 saving/loading
- ✅无盘space
- ⛔非人类可读
- ⛔python 仅
另请参阅 parquet 格式 (to_parquet
, read_parquet
)
- ✅快 saving/loading
- ✅ 比 pickle
更少磁盘 space
- ✅多平台支持
- ⛔非人类可读
我正在学习pythonpandas。 我看到一个教程,其中显示了两种保存 pandas 数据帧的方法。
pd.to_csv('sub.csv')
并打开pd.read_csv('sub.csv')
pd.to_pickle('sub.pkl')
并打开pd.read_pickle('sub.pkl')
教程说to_pickle
是将dataframe保存到磁盘。我对此感到困惑。因为当我使用 to_csv
时,我确实看到文件夹中出现了一个 csv 文件,我认为它也保存到磁盘上了吧?
一般来说,为什么我们要使用 to_pickle
保存数据帧而不是将其保存为 csv 或 txt 或其他格式?
Pickle 是一种存储 Pandas 数据帧的序列化方式。基本上,您是将数据帧的确切表示形式写到磁盘上。这意味着列的类型和索引是相同的。如果您只是将文件保存为 csv
,则只是将其存储为逗号分隔列表。根据您的数据集,当您重新加载它时,一些信息会丢失。
您可以在 python、here.
中阅读有关 pickle 库的更多信息csv
- ✅人类可读
- ✅跨平台
- ⛔慢
- ⛔更多磁盘space
- ⛔在某些情况下不保留类型
泡菜
- ✅快 saving/loading
- ✅无盘space
- ⛔非人类可读
- ⛔python 仅
另请参阅 parquet 格式 (to_parquet
, read_parquet
)
- ✅快 saving/loading
- ✅ 比 pickle 更少磁盘 space
- ✅多平台支持
- ⛔非人类可读