2013-01-16 17 views
5

BuradaRMagic, ipython ve Özeti Bilgi

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

bir ipython defterde, burada bulunan farklı bir veri kümesi üzerinde aynı örneği çalıştı ardından.

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

bana doğru özet bilgi verir Ancak Ar aynı

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

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

Ben

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

olsun.

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

Herhangi bir fikir?

+0

, bir Ar matrisine Pandalar DataFrame çeviriyor:

arada

, size aşağıda kod pasajımızdaki ilerlemeye ne gerek uydurmak gerekir R veri ağı. Bunu geliştirmeliyiz. –

+0

@ Thomas-K: Bana bir liste listesine (listelerden) dönüştüğü göründü. Devasa sitede ipython için bir sorun açmalıyız (rpy2'nin sitesinden daha mantıklı) ve rmagic'in kullandığı dönüşüm kurallarını iyileştirmeye çalışmalıyız. – lgautier

+0

Ipython için GH sayfasında sorunu yarattım - https://github.com/ipython/ipython/issues/2797 – user423805

cevap

2

Hızlı bir görünüm aldım ve ipython sihirbazının dönüşüm sağa almadığı bir dizi durum var gibi görünüyor. Rmagic ve daha fazla sihir ile ilgili onlarla temas kurmak zorundayım. Bir yerine,

bir tahmin olarak
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

Bu işlevin şu anda rpy2 2.3.3+ olduğunu unutmayın (bkz. Http://rpy.sourceforge.net/rpy2/doc-2.3/html/changes.html?highlight=pandas)! –