2016-05-03 16 views
-2

Ich arbeite mit einigen Gehäusedaten in Python. Ich versuche, den Preis in Quadratfuß zu berechnen und ihn dem Datenrahmen hinzuzufügen. Ich bin in der Lage, die Berechnung allein durchzuführen, aber wenn ich versuche, die Spalte wieder dem Datenrahmen hinzuzufügen, erhalte ich einen Fehler.Hinzufügen von Spalten in Pandas

Code:

price_feet=[data['price']/data['sqft_living']] 

Dieses auf es funktioniert besitzen

Dies gilt nicht

data['price_feet']=[data['price']/data['sqft_living']] 

Fehler erhalten: Länge von Werten entspricht nicht Länge Index

I Angenommen, in den Daten gibt es keine Übereinstimmung mit den beiden Variablen . Aus diesem Grund kann ich die Berechnung durchführen, aber nicht zum Datenrahmen zurückführen. Ich habe versucht, einige Antworten zu suchen, aber anscheinend habe ich noch nicht die richtige Lösung gefunden.

Danke!

+0

die Antwort ist richtig in der Fehlermeldung. . . – dbliss

Antwort

1

Probieren Sie es ohne die Klammern:

data['price_feet']=data['price']/data['sqft_living'] 

Die eckigen Klammern eine Liste zurückkehrten, wo das erste Element einer Reihe war. Du willst nur die Serie.

+1

erster und einziger Artikel – dbliss

0

Sie können auch div

data = pd.DataFrame({'price': [1000, 2000], 'sqft_living': [100, 250]}) 
data['price_feet'] = data.price.div(data.sqft_living) 

>>> data 
    price sqft_living price_feet 
0 1000   100   10 
1 2000   250   8 

Signatur verwenden: data.price.div (andere, level = None, fill_value = None, Achse = 0) Docstring: Schwimmdock Teilung der Serie und anderen , elementweise (binärer Operator truediv).

Entspricht series/other, aber mit Unterstützung für einen Fill_value für fehlende Daten in einem der Eingänge ersetzen.

Verwandte Themen