2017-03-16 1 views
0

Es gibt einen Pandas Datenrahmen mit 3 Spalten A, B und CErstellen Sie neue Spalte für einen Pandas Datenrahmen innerhalb eines for-Schleife

Id Date  Latitude  Longitude 
9497  2017-03-03 44.149147 -70.230300 
914   2017-02-27 38.832256 -104.761086 

ich durch den Datenrahmen zu Schleife will und eine neue Spalte innerhalb eines for-Schleife erstellen .

Ich versuchte mit dem untenstehenden Code, aber ich bekomme den Fehler "Spalte nicht definiert". Jeder Rat wäre wirklich hilfreich.

for index,row in df2.iterrows(): 
    value = Geohash.encode(row['Latitude'],row['Longitude'], precision=8) 
    df2.set_value(index,'Geohash',value) 

Antwort

2

Erstellen Sie die Spalte vor der Schleife:

df2['Geohash'] = -1 # or np.nan or whatever 

for index,row in df2.iterrows(): 
     value = Geohash.encode(row['Latitude'],row['Longitude'], precision=8) 
     df2.set_value(index,'Geohash',value) 
+0

Vielen Dank für Ihren Vorschlag. Wenn ich damit versuche, bekomme ich den Fehler "ungültiges Literal für long() mit der Basis 10: 'dry51v5g'" – user3447653

+0

Ich löste es mit df2 ['Geohash'] = ''. – user3447653

+0

Verwenden von [. Assign] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.assign.html) ist möglicherweise eine bessere Möglichkeit, dies zu tun. – ChuHo

Verwandte Themen