Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 缓存数据帧的最佳方法?_Python_Pandas_Dataframe - Fatal编程技术网

Python 缓存数据帧的最佳方法?

Python 缓存数据帧的最佳方法?,python,pandas,dataframe,Python,Pandas,Dataframe,昨天我艰难地了解到,将熊猫数据帧保存到csv以供以后使用是一个坏主意。我有一个+130k条tweets的数据帧,其中一行是tweets列表。当我将数据保存到CSV,然后重新加载数据帧时,我的数据帧的行现在是字符串类型。这会导致各种错误和大量调试。当然,假设CSV能够保存关于我的数据是哪种数据结构类型的信息是一个愚蠢的错误 我现在的问题是:如何保存数据帧以备日后使用,从而保留有关我的列/行的数据类型的信息?我希望您能找到所需的解决方案。 要回答这个问题,您可以使用DataFrame.To_pick

昨天我艰难地了解到,将熊猫数据帧保存到csv以供以后使用是一个坏主意。我有一个+130k条tweets的数据帧,其中一行是tweets列表。当我将数据保存到CSV,然后重新加载数据帧时,我的数据帧的行现在是字符串类型。这会导致各种错误和大量调试。当然,假设CSV能够保存关于我的数据是哪种数据结构类型的信息是一个愚蠢的错误


我现在的问题是:如何保存数据帧以备日后使用,从而保留有关我的列/行的数据类型的信息?

我希望您能找到所需的解决方案。
要回答这个问题,您可以使用
DataFrame.To_pickle()
方法来序列化(将python对象转换为字节流),当您反序列化pickle文件时,您可以原样返回数据,但请记住,在使用pickle文件时,如果从不受信任的源接收到它们,它们可能会造成安全威胁

下面是一个关于如何使用pickle的示例:

>>> original_df = pd.DataFrame({"foo": range(5), "bar": range(5, 10)})
>>> original_df
   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9

>>> pd.to_pickle(original_df, "./dummy.pkl")
>>> unpickled_df = pd.read_pickle("./dummy.pkl")
>>> unpickled_df
   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9

尝试此操作是否保留所有基础数据结构信息?