Teilen / explodieren Sie eine Wörterbuchspalte in separate Spalten mit PandasPython

Python-Programme
Anonymous
 Teilen / explodieren Sie eine Wörterbuchspalte in separate Spalten mit Pandas

Post by Anonymous »

Ich habe Daten in einer PostgreSQL -Datenbank gespeichert. Ich wende diese Daten mit Python2.7 ab und verwandelte sie in einen Pandas -Datenframe. Die letzte Spalte dieses Datenrahmens enthält jedoch ein Wörterbuch der Werte. Der DataFrame df sieht folgendermaßen aus:

Code: Select all

Station ID     Pollutants
8809           {"a": "46", "b": "3", "c": "12"}
8810           {"a": "36", "b": "5", "c": "8"}
8811           {"b": "2", "c": "7"}
8812           {"c": "11"}
8813           {"a": "82", "c": "15"}
< /code>
Ich muss diese Spalte in separate Spalten aufteilen, damit der DataFrame `df2 so aussieht: < /p>
Station ID     a      b       c
8809           46     3       12
8810           36     5       8
8811           NaN    2       7
8812           NaN    NaN     11
8813           82     NaN     15
< /code>
Das Hauptproblem, das ich habe, ist, dass die Listen nicht die gleichen Längen haben. Aber alle Listen enthalten nur bis zu den gleichen 3 Werten: 'A', 'B' und 'C' . Und sie erscheinen immer in derselben Reihenfolge ('A' First 'B' zweiter, 'c' dritter).objs = [df, pandas.DataFrame(df['Pollutant Levels'].tolist()).iloc[:, :3]]
df2 = pandas.concat(objs, axis=1).drop('Pollutant Levels', axis=1)
print(df2)
< /code>
Ich habe diesen Code erst letzte Woche ausgeführt und es hat einwandfrei funktioniert. Aber jetzt ist mein Code kaputt und ich erhalte diesen Fehler aus der Zeile [4]: ​​< /p>
IndexError: out-of-bounds on slice (end)
< /code>
Ich habe keine Änderungen am Code vorgenommen, aber jetzt erhalte jetzt den Fehler. Ich bin der Meinung, dass dies darauf zurückzuführen ist, dass meine Methode nicht robust oder ordnungsgemäß ist.#My data format
u{'a': '1', 'b': '2', 'c': '3'}

#and not
{u'a': '1', u'b': '2', u'c': '3'}
Die Daten werden in diesem Format aus der PostgreSQL -Datenbank importiert. Irgendwelche Hilfe oder Ideen mit diesem Thema? Gibt es eine Möglichkeit, den Unicode zu konvertieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post