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

时间:2018-06-21 06:58:46

标签: python dataframe tcp lan

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

根据我的研究,我在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

1 个答案:

答案 0 :(得分:0)

Pandas提供了序列化为json的方法。使用数据框的to_json方法序列化为json,而熊猫的read_json方法将其读回数据框:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <title>My page</title>


    <link href="StyleSheet.css" rel="stylesheet" />
    <link href="Content/bootstrap-grid.css" rel="stylesheet" />
    <link href="Content/bootstrap.css" rel="stylesheet" />

    <script src="Scripts/bootstrap.js"></script>
    <script src="Scripts/jquery-3.3.1.js"></script>
    <script src="Scripts/bootstrap.bundle.js"></script>

    <script>$('#table).dragtable();</script>

</head>



<body style="cursor: auto;">
    <div class="content">
        <table class="table table-striped" draggable="true">
            <thead>
                <tr>
                    <th scope="col">#</th>
                    <th scope="col">First</th>
                    <th scope="col">Last</th>
                    <th scope="col">Handle</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <th scope="row">1</th>
                    <td>Mark</td>
                    <td>Otto</td>
                    <td>@mdo</td>
                </tr>
                <tr>
                    <th scope="row">2</th>
                    <td>Jacob</td>
                    <td>Thornton</td>
                    <td>@fat</td>
                </tr>
                <tr>
                    <th scope="row">3</th>
                    <td>Larry</td>
                    <td>the Bird</td>
                    <td>@twitter</td>
                </tr>
            </tbody>
        </table>
    </div>

</body>

</html>