提问者:小点点

打印可复制示例的数据框(相当于R中的dput)


最近,我经常发现自己在Pandas中问问题,这些问题取决于我正在使用的数据,到目前为止,我花了相当长的时间来创建一个与我的数据相似的数据帧(可复制的数据帧),以便SO用户可以轻松地复制它他们的机器。

我更愿意找到一种方便的方法,这样我就可以在我的问题中打印我的小DF,其他用户可以轻松地收集它,从而以最小的工作量创建它。

R中,我习惯于在控制台中的dput函数中打印我的数据的小样本,然后在我的问题中打印输出(例如):运行一个for循环

我注意到了这个解释,但我认为它不适合为其他SO用户打印数据样本:Python相当于R的dput()函数

熊猫有没有一种类似的方法?

提前谢谢!


共1个答案

匿名用户

如果二进制数据适合您,您可以使用pickle库。它通常允许序列化和反序列化仲裁对象(前提是提供了它们的类定义,如果安装了pandas,则对dataframes也是如此)。

如果您需要一种人类可读的格式,可以使用df_dict=df从数据帧创建Python字典。,并打印此字典(查看它,可能会复制粘贴),或将其转储到JSON字符串中。

当您想将dict转换回pandas时,请使用df=pd。数据帧。从_dict(df _dict)

解码和编码的最小示例:

import pandas as pd
df = pd.DataFrame.from_dict({'a': {0: 1, 1: 2}, 'b': {0: 3, 1: 3}})
print(df.to_dict())

这将导致{'a':{0:1,1:2},'b':{0:3,1:3}可复制对象。