2017-07-29 1 views
0

Die Füllfunktion ist mit dem Durchschnittsalter dieser besonderen Klasse von PassagierenWarum erhalte es den fehler kann keine nicht-NDFrame Objekt verketten

titanic['Age']=titanic[['Age','Pclass']].apply(fill,axis=1) 

sex=pd.get_dummies(titanic['Sex'],drop_first=True) 

embarked=pd.get_dummies(titanic['Embarked'],drop_first=True) 

titanic.drop(['Cabin','Embarked'],axis=1,inplace=True) 

titanic.dropna(inplace=True) 

titanic=pd.concat(['titanic','sex','embarked'],axis=1) 

Antwort

1

Ich denke, alle nicht verfügbaren Daten in titanic zu füllen Suchen Sie nach:

titanic=pd.concat([titanic,sex,embarked],axis=1) 

statt:

titanic=pd.concat(['titanic','sex','embarked'],axis=1) 

Eine Randnotiz jedoch:
Wenn Sie nur versuchen, NaN Werte fallen zu lassen und Dummies zu bekommen, können Sie es auf dem ursprünglichen Datenrahmen tun, ohne pandas.concat zu verwenden.

Beispiel:

titanic = pd.get_dummies(titanic) 

und einfach fallen NaN-Werte mit dataframe.dropna:

titanic.dropna(inplace=True) 

Hoffnung, das war hilfreich.

+1

Dank für das zu sagen, wie Attrappen zu bekommen in dem ursprünglichen Datenrahmen aber in meinem Programm wird es nicht notwendig, Spalten erstellen, aber immer noch vielen Dank für die neuen wertvollen Informationen – VaibhavSka

2

pd.concat erwartet, dass Sie eine Liste von Datenframes als Parameter und nicht als Liste von Strings angeben. Ändern Sie Ihren Code

titanic=pd.concat([titanic,sex,embarked],axis=1) 
Verwandte Themen