如何将DataFrame恢复为其代码形式?

时间:2019-11-22 12:37:56

标签: python pandas dataframe reverse-engineering

我希望能够将数据框反向转换为其代码形式。

因此我们知道此代码形式

dat=pd.DataFrame(dict(Date=['19/11/2012', '20/11/2012', '21/11/2012'],
                    A=[1,3,1],
                    B=[3,2,2],
                    C=[4,3,2],
                    D=[5,2,2],))

给出的结果将创建一个 DataFrame ,如下所示:

+---+------------+---+---+---+---+
|   |    Date    | A | B | C | D |
+---+------------+---+---+---+---+
| 0 | 19/11/2012 | 1 | 3 | 4 | 5 |
| 1 | 20/11/2012 | 3 | 2 | 3 | 2 |
| 2 | 21/11/2012 | 1 | 2 | 2 | 2 |
+---+------------+---+---+---+---+

但是,我是否可以将上面的 DataFrame 转换回其代码形式?在上面的示例中,我知道预先创建DataFrame的代码,但是,实际上我没有该信息。

1 个答案:

答案 0 :(得分:3)

尝试pandas.DataFrame.to_dict()

>>> dat=pd.DataFrame(dict(Date=['19/11/2012', '20/11/2012', '21/11/2012'],
                    A=[1,3,1],
                    B=[3,2,2],
                    C=[4,3,2],
                    D=[5,2,2],))
>>> dat
         Date  A  B  C  D
0  19/11/2012  1  3  4  5
1  20/11/2012  3  2  3  2
2  21/11/2012  1  2  2  2

>>> dat.to_dict(orient = 'list')
{'Date': ['19/11/2012', '20/11/2012', '21/11/2012'],
 'A': [1, 3, 1],
 'B': [3, 2, 2],
 'C': [4, 3, 2],
 'D': [5, 2, 2]}