Python 将数据帧保存到磁盘会丢失numpy数据类型
我有一个大数据帧,需要保存到磁盘。 列的类型类似于numpy.int32或numpy.floatxxPython 将数据帧保存到磁盘会丢失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
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把它写下来作为答案,我把它标记为答案。这正是我所需要的,也节省了大量磁盘空间。完美的