Python 将数据帧保存到磁盘会丢失numpy数据类型

Python 将数据帧保存到磁盘会丢失numpy数据类型,python,pandas,dataframe,numpy,save,Python,Pandas,Dataframe,Numpy,Save,我有一个大数据帧,需要保存到磁盘。 列的类型类似于numpy.int32或numpy.floatxx int32Data ColumName ... float32Data otherTypeData 0 150294240 4260.0 ... 3.203908e+02 7960.0 1 150294246 4260.0 ... 0.000000

我有一个大数据帧,需要保存到磁盘。 列的类型类似于numpy.int32或numpy.floatxx

             int32Data     ColumName  ...  float32Data  otherTypeData
0        150294240   4260.0  ...                  3.203908e+02  7960.0
1        150294246   4260.0  ...                  0.000000e+00  7960.0
2        150294252   4280.0  ...                  1.117543e+03  7960.0
3        150294258   4260.0  ...                  5.117185e+01  7960.0
4        150294264   4260.0  ...                  5.999993e+02  7960.0
           ...      ...  ...                           ...     ...
1839311  161375508  54592.0  ...                  8.990022e+05     0.0
1839312  161375514  54624.0  ...                  2.097199e+06     0.0
1839313  161375520  54656.0  ...                  1.192150e+06     0.0
1839314  161375526  54688.0  ...                  1.249997e+06     0.0
1839315  161375532  54592.0  ...                  8.949273e+05     0.0
使用正确的数据类型可以节省大量的空间和处理能力

但是当我将数据帧df保存到磁盘时

np.save(FilePath,df)
然后重读一遍

ReadData=np.load(FilePath).tolist()
df=DataFrame(ReadData)
然后将所有数据转换为numpy.float64(并删除列名)

可以保存和加载数据框,同时保留每列(和列名)的数据类型?

存储可能正是您要寻找的,它允许您高效地存储大量数据,保存数据类型,并允许您非常快速地检索数据。您可以在中找到更多详细信息

如何使用它的示例:

import pandas as pd

with pd.HDFStore(file_path) as hdf:
  # to save the dataframe to the HDF
  hdf.put(key, df)

  # and to retrieve it later
  df = hdf.get(key)

您可以尝试保存到一个文件,它可以非常快地保存类型并运行(I/O)大型数据帧。
np.save
保存
numpy
数组。在这种情况下,我认为将
df.保存到\u numpy()
。看看这个。熊猫有自己的保存工具。@Moti把它写下来作为答案,我把它标记为答案。这正是我所需要的,也节省了大量磁盘空间。完美的