【问题标题】:RMagic, IPython and Summary InformationRMagic、IPython 和摘要信息
【发布时间】:2012-12-30 15:55:51
【问题描述】:

按照这里的例子

http://www.randalolson.com/2013/01/14/filling-in-pythons-gaps-in-statistics-packages-with-rmagic/

我在 IPython 笔记本中在这里找到的不同数据集上尝试了相同的方法。

https://github.com/burakbayramli/kod/blob/master/delltest/dell.tgz

from pandas import *
orders = read_csv("dell.csv",sep=",")
%load_ext rmagic
%R -i orders print(summary(orders))

我明白了

     Length Class  Mode
[1,] 25     -none- list
[2,] 25     -none- list
[3,] 25     -none- list
..

但是在R中是一样的

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  
 ...

有什么想法吗?

【问题讨论】:

  • 作为猜测,它将 Pandas DataFrame 转换为 R 矩阵,而不是 R 数据帧。我们应该改进这一点。
  • @Thomas-K:在我看来,它正在转换为列表(列表)列表。我们应该在 ipython 的开发站点上打开一个问题(那里比在 rpy2 的站点上更有意义)并努力改进 rmagic 正在使用的转换规则。
  • 我在 GH 页面上为 ipython 创建了这个问题 - github.com/ipython/ipython/issues/2797

标签: pandas ipython rpy2 ipython-notebook


【解决方案1】:

我快速浏览了一下,似乎有很多情况下 ipython 魔法 没有得到正确的转换。我必须就 rmagic 和他们取得联系 更多的魔法。

与此同时,您应该能够从下面的代码的 sn-p 中编写出您需要进行的内容:

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)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-08-19
  • 2013-12-20
  • 1970-01-01
  • 2012-12-24
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 2020-07-21
相关资源
最近更新 更多