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:
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?
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]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'} [/code] 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?
Ich habe einen Datenrahmen mit 6 Spalten: 'Name', 'A', 'B', 'C', 'Val', 'Kategorie'
Es sieht so aus:
Name A B C Val Category
x 1.1 0 0.2 NA NA
y 0 0.1 0 NA NA
z 0.5 0.1 0.3 NA NA
Ich habe einen Datenrahmen mit 6 Spalten: 'Name', 'A', 'B', 'C', 'Val', 'Kategorie'
Es sieht so aus:
Name A B C Val Category
x 1.1 0 0.2 NA NA
y 0 0.1 0 NA NA
z 0.5 0.1 0.3 NA NA
Ich habe einen Datenrahmen mit 6 Spalten: 'Name', 'A', 'B', 'C', 'Val', 'Kategorie'
Es sieht so aus:
Name A B C Val Category
x 1.1 0 0.2 NA NA
y 0 0.1 0 NA NA
z 0.5 0.1 0.3 NA NA
Ich arbeite an einem Schulprojekt, in dem ich unnötige Daten aus einer Protokolldatei herausholen soll, und wir wurden angewiesen, Python zu verwenden. import pandas as pd
import pytz
from datetime...