[英]How to convert pandas DataFrame into bytes and vice versa?
我正在嘗試使用套接字編程發送數據幀,為此,我需要知道如何在客戶端將數據幀編碼為字節,然后在服務器處將其解碼為數據幀。
您可以使用cPickle
或pickle
模塊。
首先序列化數據幀:
>>> 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.