Nach der Verwendung von transponieren auf einem Datenrahmen gibt es immer eine zusätzliche Zeile als Rest aus dem ursprünglichen Datenrahmen-Index zum Beispiel entfernen:Wie die zusätzliche Zeile (oder Spalte) nach transponieren() in Pandas
import pandas as pd
df = pd.DataFrame({'fruit':['apple','banana'],'number':[3,5]})
df
fruit number
0 apple 3
1 banana 5
df.transpose()
0 1
fruit apple banana
number 3 5
Selbst wenn ich habe keinen Index:
df.reset_index(drop = True, inplace = True)
df
fruit number
0 apple 3
1 banana 5
df.transpose()
0 1
fruit apple banana
number 3 5
Das Problem ist, dass, wenn ich speichere Sie den Datenrahmen in eine cSV-Datei von:
df.to_csv(f)
Diese zusätzliche Zeile bleibt oben und ich muss sie jedes Mal manuell entfernen.
Auch funktioniert das nicht:
df.to_csv(f, index = None)
weil der alte Index nicht mehr ein Index (nur eine weitere Zeile ...) betrachtet.
Es passierte auch, wenn ich umgekehrt umstellte und ich eine zusätzliche Spalte bekam, die ich nicht entfernen konnte.
Irgendwelche Tipps?
'drucken df.T.to_csv (header = None)' oder 'Druck df.to_csv (Index = None)' beide Arbeit für mich . – piRSquared
Oh danke, mir war nicht klar, dass das eigentlich ein Header war. Die Lösung, die in meinem Fall funktionierte, ist "df.T.to_csv (f, header = None)" unter der Annahme, dass df der ursprüngliche Datenrahmen ist (ich möchte die Transponierte). Außerdem verstehe ich nicht, warum du 'print' verwendest. –
Dataframes müssen immer Indizes und Header in Pandas haben. Wenn Sie also keinen liefern, erhalten Sie nur ganze Zahlen. Wenn Sie es transponieren, tauschen Sie einfach die Index- und Header-Dimensionen aus. – Jeff