Pandas RMagic、IPython和摘要信息

Pandas RMagic、IPython和摘要信息,pandas,ipython,rpy2,ipython-notebook,Pandas,Ipython,Rpy2,Ipython Notebook,下面的例子 我在IPython笔记本中的另一个数据集上尝试了同样的方法 我明白了 然而,在R中也是如此 data <- read.csv ("dell.csv",header=TRUE,sep=",") print (summary(data)) 有什么想法吗 我快速看了一眼,似乎有很多情况下,伊皮顿魔法 没有得到正确的转换。我必须和他们联系关于rmagic和 更神奇 同时,您应该能够从下面的代码片段中编写出需要改进的内容: import pandas orders = pandas

下面的例子

我在IPython笔记本中的另一个数据集上尝试了同样的方法

我明白了

然而,在R中也是如此

data <- read.csv ("dell.csv",header=TRUE,sep=",")
print (summary(data))

有什么想法吗

我快速看了一眼,似乎有很多情况下,伊皮顿魔法 没有得到正确的转换。我必须和他们联系关于rmagic和 更神奇

同时,您应该能够从下面的代码片段中编写出需要改进的内容:

import pandas
orders = pandas.read_csv("dell.csv", sep=",")
%load_ext rmagic

import rpy2.robjects
d = dict()
for i, (k,v) in enumerate(orders.iteritems()):
    print("%s (type: %s - %i/%i)" %(k, v.dtype.kind, i, orders.shape[1]))
    if v.dtype.kind == 'O':
      v = rpy2.robjects.vectors.StrVector(v)
    d[k] = rpy2.robjects.conversion.py2ri(v)
df = rpy2.robjects.DataFrame(d)

def print_rsummary(x):
    print(rpy2.robjects.baseenv['summary'](x))

print_rsummary(df)

作为猜测,它将熊猫数据帧转换为R矩阵,而不是R数据帧。我们应该改进它。@Thomas-K:在我看来,它正在转换为列表列表。我们应该在ipython的开发站点上打开一个问题(比在rpy2的站点上更有意义),并改进rmagic使用的转换规则。我在ipython的GH页面上创建了这个问题-注意,这个功能现在在rpy2.3.3+中(请参阅)!
data <- read.csv ("dell.csv",header=TRUE,sep=",")
print (summary(data))
      rank        per_customer_count total_total_amount    orderid     
 Min.   : 1.000   Min.   : 1.000     Min.   :    0.14   Min.   :    1  
 1st Qu.: 2.000   1st Qu.: 6.000     1st Qu.:  866.11   1st Qu.: 2964  
 Median : 4.000   Median : 8.000     Median : 1764.08   Median : 5980  
 Mean   : 4.997   Mean   : 9.426     Mean   : 2004.95   Mean   : 5987  
 3rd Qu.: 7.000   3rd Qu.:12.000     3rd Qu.: 2856.06   3rd Qu.: 9004  
 ...
import pandas
orders = pandas.read_csv("dell.csv", sep=",")
%load_ext rmagic

import rpy2.robjects
d = dict()
for i, (k,v) in enumerate(orders.iteritems()):
    print("%s (type: %s - %i/%i)" %(k, v.dtype.kind, i, orders.shape[1]))
    if v.dtype.kind == 'O':
      v = rpy2.robjects.vectors.StrVector(v)
    d[k] = rpy2.robjects.conversion.py2ri(v)
df = rpy2.robjects.DataFrame(d)

def print_rsummary(x):
    print(rpy2.robjects.baseenv['summary'](x))

print_rsummary(df)