如何将数据嵌入到IPython Notebook中?

10

看起来应该有一种方法可以从文件中读取数据,最好是到Pandas DataFrame中,并以这样的方式创建结果,使其成为笔记本的一部分,因此您可以将数据存储在笔记本中而不需要外部文件?

这样,您可以发送整个示例(显然主要针对较小的数据集)。 这也会使在 SO 上进行示例变得更加容易。

任何想法?即使通过剪切和粘贴,即DataFrame显示的输出?


对于中等大小的数据文件,您也可以通过github或dropbox等方式进行托管,pandas方法可以直接使用URL。 - U2EF1
2个回答

10

你可以将这段代码放在IPython的单元格中:

import pandas as pd
import io
content = '''\
<<PASTE DATA HERE>>
'''

df = pd.read_table(io.BytesIO(content), ...)

当通过IPython笔记本粘贴HTML显示的DataFrame时,这非常有效。 - dartdog

6
为了让其他人更好地理解: 下面的数据框是从IPython笔记本中HTML rpr简单地剪切和粘贴而来。
import pandas as pd
import io
content2 = '''\
Units   lastqu  Uperchg lqperchg    fcast   errpercent  nfcast  fctperchg
2000-12-31   19391   NaN     NaN     NaN     NaN     NaN     NaN    NaN
2001-12-31   35068   5925    80.85   NaN     32838   -6.79   NaN    NaN
2002-12-31   39279   8063    12.01   36.08   39750   1.18    42449  NaN
2003-12-31   47517   9473    20.97   17.49   44309   -7.24   43784  NaN
2004-12-31   51439   11226   8.25    18.51   49976   -2.93   53594  NaN
2005-12-31   59674   11667   16.01   3.93    51402  -16.09   52907  NaN
2006-12-31   58664   14016   -1.69   20.13   58997   0.56    68491  NaN
2007-12-31   55698   13186   -5.06   -5.92   56313   1.09    55995  NaN
2008-12-31   42235   11343  -24.17  -13.98   50355   16.13   49805  NaN
2009-12-31   40478   7867    -4.16  -30.64   39117   -3.48   32809  NaN
2010-12-31   38722   8114    -4.34   3.14    39915   2.99    41304  NaN
2011-12-31   36965   8361    -4.54   3.04    40714   9.21    39497  NaN
2012-12-31   39132   8608    5.86    2.95    41512   5.73    37690  NaN
2013-12-31   43160   9016    10.29   4.74    42832   -0.77   40376  NaN
2014-12-31   NaN     9785    NaN     8.53    45318   NaN     45665   5
'''
df2 = pd.read_table(io.BytesIO(content2))
df2

生成一个完全可用的DataFrame


为了进行计算,必须添加以下内容 #确保列为整数 df2['Units']=df2['Units'][:-1].astype('int') df2['lastqu']=df2['lastqu'][1:].astype('int') - dartdog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接