Matris oluşturmak için patsy kullanıyorum. Ancak, veri kümesinde Yok veya Nan değerleri olduğunda garip davranışı alıyorum. Aşağıda görüldüğü gibi, Yok satırını bırakmak yerine, 1'ler ve 0'larla ek sütunlar oluşturur. Bir Yok değerini eklediğinizde Bir Yok değerini eklediğimde neden patsy ek sütun döndürüyor?
import numpy as np
import pandas as pd
import patsy as pt
df = pd.DataFrame(np.array([(1,3),(2,6),(4,2),(6,3)]), columns=['y','X'])
In[60]: df
Out[60]:
y X
0 1 3
1 2 6
2 4 2
3 6 3
In[61]: pt.dmatrices('y ~ X', df)
Out[61]:
(DesignMatrix with shape (4, 1)
y
1
2
4
6
Terms:
'y' (column 0),
DesignMatrix with shape (4, 2)
Intercept X
1 3
1 6
1 2
1 3
Terms:
'Intercept' (column 0)
'X' (column 1))
In[62]: df = pd.DataFrame(np.array([(1,3),(2,6),(4,2),(6,None)]), columns=['y','X'])
In[63]: pt.dmatrices('y ~ X', df)
Out[63]:
(DesignMatrix with shape (3, 4)
y[1] y[2] y[4] y[6]
1 0 0 0
0 1 0 0
0 0 1 0
Terms:
'y' (columns 0:4),
DesignMatrix with shape (3, 3)
Intercept X[T.3] X[T.6]
1 1 0
1 0 1
1 0 0
Terms:
'Intercept' (column 0)
'X' (columns 1:3))
Neden kurban ek sütunlar dönüyor? Doğru anlaşılır Eğer öyleyse panda dataframe
object
olarak bu sütunu alır
None
nan
olarak
Teşekkürler, ikinci cevap şöyle olmalı: df = pd.DataFrame (np.array ([(1,3), (2,6), (4,2), (6, np.nan)]) , sütunlar = [ 'y', 'X']) NameError atar: 'nan' ismi tanımlanmamış – user1181337
Haklısınız, Canopy bunları otomatik olarak içe aktarır, bu yüzden bazen np'yi dahil etmeyi unutmayın. Şimdi düzenleniyor. – ayhan