2013-01-16 42 views
5

繼例如這裏RMagic,IPython的和摘要信息

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

任何想法?

+0

作爲一個猜測,它的轉換熊貓據幀到R矩陣,而不是R數據幀。我們應該改善這一點。 –

+0

@ Thomas-K:在我看來,它正在轉換爲列表(列表)。我們應該在開發者網站上爲ipython打開一個問題(比rpy2的網站更有意義),並努力改進rmagic正在使用的轉換規則。 – lgautier

+0

我在GH頁面爲ipython創建了這個問題 - https://github.com/ipython/ipython/issues/2797 – user423805

回答

2

我有一個快速的外觀,似乎有一些情況下,ipython的魔術 沒有得到轉換的權利。我必須與他們取得有關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) 
+0

請注意,此功能現在位於rpy2 2.3.3+(請參見http://rpy.sourceforge.net/rpy2/doc-2.3/html/changes.html?highlight=pandas)! –