簡體   English   中英

如何將pandas DataFrame轉換為字節,反之亦然?

[英]How to convert pandas DataFrame into bytes and vice versa?

我正在嘗試使用套接字編程發送數據幀,為此,我需要知道如何在客戶端將數據幀編碼為字節,然后在服務器處將其解碼為數據幀。

您可以使用cPicklepickle模塊。

首先序列化數據幀:

>>> df
   A  B
0  1  3
1  2  4
>>> df_bytes = cPickle.dumps(df)

以某種方式發送df_bytes的內容,然后反序列化:

>>> df2 = cPickle.loads(df_bytes)
>>> df2
   A  B
0  1  3
1  2  4

這兩個模塊確實引入了潛在的安全問題,因為它們允許在反序列化期間執行任意代碼。 更好的解決方案是將數據幀寫入json字符串:

df_string = df.to_json()

然后恢復它:

df_again = pandas.read_json(df_string)

其他格式(例如csv也可用,相應的函數是DataFrame.to_csv()pandas.read_csv() 這個這個對於相關功能的完整列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM