在 Windows 和 Linux 之间共享 pandas.DataFrame?

Share pandas.DataFrame between Windows and Linux?

我们公司有一个 API 仅用于 Windows(服务器),我写了一些 python 代码将原始数据转换为服务器上的 pd.DataFrame。我希望将此数据帧发送到 CentOS 7(客户端)上的另一个 python 程序 运行ning。如果有人能给我一个解决方案,我将不胜感激。

根据我的研究,我在 Windows 上构建了一个套接字服务器。数据框如下所示:

Date | Ticker1 | Ticker 2|
--------------------------
May11| 100.01  | 143.12  |

这是我在服务器上的代码:

records_to_send=df.to_records().tostring()
conn.send(records_to_send) 

但是在解码的时候,np.frombuffer()无法识别我设置的dtype。即使我只是 运行 服务器上的以下代码:

np.frombuffer(df.to_records().to_string(),df.to_records().dtype)

会引发 ValueError:

ValueError: cannot create an OBJECT array from memory buffer

Pandas 提供序列化到 json 的方法。使用数据框的 to_json method to serialize to json and pandas' read_json 方法将其读回数据框:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
serialized=df.to_json()
print(serialized)
deserialized=pd.read_json(serialized)
print(deserialized)