2014-05-15 31 views
6

Bir DataFrame ile .ix kullandığımda, pandaları her zaman bir DataFrame'e döndürmeye zorlamanın bir yolu var mı? Ben aşağıdaki satırları çalıştırırsanız 0 endeksinde iki kez göründüğü içinPiksellerde DataFrame döndürmek için Force.

Örneğin,

import pandas as pd 
import numpy as np 

df = pd.DataFrame(np.arange(6).reshape(3, 2), index=[0, 0, 1]) 
x = df.ix[0] 
y = df.ix[1] 

sonra x, bir DataFrame olacak ve 1 endeksinde benzersizdir çünkü y Seri olacak . Ben de bir DataFrame olmasını istiyorum (çünkü sonuç için Seriler için tanımlanmayan iterrows() kullanıyorum).

Gerekirse .ix'in türünü kontrol edebilir ve gerekirse bir DataFrame'e dönüştürebilirim, ancak daha iyi bir yol olacağını düşündüm.

cevap

10

Evet, bir liste ile endeks it:

> x = df.ix[[0]] 
> y = df.ix[[1]] 
> type(x) 
pandas.core.frame.DataFrame 
> type(y) 
pandas.core.frame.DataFrame