Pandas Dataframe to Code

agf*_*997 16 python pandas

如果我有一个现有的pandas数据帧,有没有办法生成python代码,当在另一个python脚本中执行时,将重现该数据帧.

例如

In[1]: df

Out[1]:
   income   user
0   40000    Bob
1   50000   Jane
2   42000  Alice

In[2]: someFunToWriteDfCode(df)

Out[2]: 
df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
    ...:                    'income': [40000, 50000, 42000]})
Run Code Online (Sandbox Code Playgroud)

mad*_*oki 11

您可以尝试在DataFrame上使用to_dict()方法:

print "df = pd.DataFrame( %s )" % (str(df.to_dict()))
Run Code Online (Sandbox Code Playgroud)

如果您的数据包含NaN,则必须用float('nan')替换它们:

print "df = pd.DataFrame( %s )" % (str(df.to_dict()).replace(" nan"," float('nan')"))
Run Code Online (Sandbox Code Playgroud)

  • @josepmaria:我的示例适用于 python 2.7。如果您使用的是 python 3.x,您可以尝试: print(f'df = pd.DataFrame( {str(df.to_dict())} )') (2认同)