在 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)
我们公司有一个 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)