昨天,我了解了将熊猫数据框保存到csv以供以后使用的困难方法。我有一个+-130k tweets的数据帧,其中数据帧的一行是temets的 list 。当我将数据保存到CSV,然后重新加载数据框时,数据框的行现在为String类型。这会导致各种错误和大量调试。当然,假设CSV能够保留有关我的数据是哪种数据结构类型的信息,这是一个愚蠢的错误。
我现在的问题是:如何保存数据框以供以后使用,这样可以保留有关我的列/行的数据类型的信息?
答案 0 :(得分:2)
我希望您找到了想要的解决方案。
要回答这个问题,可以使用DataFrame.to_pickle()
方法进行序列化(将python对象转换为字节流),当对序列化的pickle文件进行反序列化时,您可以按原样获取数据,但是请记住使用泡菜文件,当它们从不受信任的来源收到时,可能会构成安全威胁。
下面是doc中的一个有关如何使用泡菜的示例:
>>> 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