Pandas Magie bei der Arbeit. Alle Logik ist aus.
Die Fehlermeldung besagt, "ValueError: If using all scalar values, you must pass an index"
dass Sie einen Index übergeben müssen.
Dies bedeutet nicht unbedingt, dass Pandas durch das Übergeben eines Index das tun, was Sie möchten
Wenn Sie einen Index übergeben, behandeln Pandas Ihre Wörterbuchschlüssel als Spaltennamen und die Werte als das, was die Spalte für jeden der Werte im Index enthalten sollte.
a = 2
b = 3
df2 = pd.DataFrame({'A':a,'B':b}, index=[1])
A B
1 2 3
Übergeben eines größeren Index:
df2 = pd.DataFrame({'A':a,'B':b}, index=[1, 2, 3, 4])
A B
1 2 3
2 2 3
3 2 3
4 2 3
Ein Index wird normalerweise automatisch von einem Datenrahmen generiert, wenn keiner angegeben wird. Pandas weiß jedoch nicht, wie viele Zeilen 2
und 3
Sie möchten. Sie können jedoch expliziter darauf eingehen
df2 = pd.DataFrame({'A':[a]*4,'B':[b]*4})
df2
A B
0 2 3
1 2 3
2 2 3
3 2 3
Der Standardindex basiert jedoch auf 0.
Ich würde empfehlen, beim Erstellen von Datenrahmen immer ein Listenwörterbuch an den Datenrahmenkonstruktor zu übergeben. Für andere Entwickler ist es einfacher zu lesen. Pandas hat viele Vorbehalte. Lassen Sie andere Entwickler nicht zu Experten werden, um Ihren Code zu lesen.