Leider versteht man die Aufgabenstellung überhaupt nicht du hast nach einer Möglichkeit gefragt eine Zeile in eine Spalte umzuwandeln diese Frage hat Sirius dir richtig beantwortet , wenn du nur eine Zeile gewandelt haben möchtest.
Beispiel:
Ich habe mal versucht deinen Datenframe nachzubauen jedoch sieht man weder die Spaltennamen etc deswegen habe Ich improvisiert:
Code: Alles auswählen
df_index = pd.Index([2016, 2015, 2010, 2005, 2000])
df = pd.DataFrame({0: ["Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan"],
1: [0.0, 4.8, 5.1, 6.3, 5.7]}, index=df_index)
df.index = df.index.set_names("Period")
Ausgabe:
Code: Alles auswählen
0 1
Period
2016 Afghanistan 0.0
2015 Afghanistan 4.8
2010 Afghanistan 5.1
2005 Afghanistan 6.3
2000 Afghanistan 5.7
Da Ich nicht genau weiß was du möchtest,da deine zweite Frage für mich ehr wie ein formatieren des Datenframes klingt als nach transpose:
Code: Alles auswählen
df_index = pd.Index([2016, 2015, 2010, 2005, 2000])
df = pd.DataFrame({0: ["Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan"],
1: [0.0, 4.8, 5.1, 6.3, 5.7]}, index=df_index)
df.index = df.index.set_names("Period")
df = df.drop(columns=0)
df = df.rename(columns={1: "Afghanistan"})
Ausgabe:
Code: Alles auswählen
Afghanistan
Period
2016 0.0
2015 4.8
2010 5.1
2005 6.3
2000 5.7
Wann benutzt man transpose? Meiner Meinung nach wenn man die Spalten / Columns und die Zeilen/ Rows getauscht haben möchte bzw Index & Columns:
Code: Alles auswählen
deutschland_df = pd.DataFrame([54, 74, 90, 2010, 2022],
index=["Deutschland", "Deutschland", "Deutschland", "Deutschland", "Deutschland"])
Ausgabe:
Code: Alles auswählen
0
Deutschland 54
Deutschland 74
Deutschland 90
Deutschland 2010
Deutschland 2022
Ausgabe:
Code: Alles auswählen
Deutschland Deutschland Deutschland Deutschland Deutschland
0 54 74 90 2010 2022
Zum Abschluss noch ein kleiner Tipp .... SO WIRD ES NICHT KLAPPEN:
Code: Alles auswählen
df_index = pd.Index([2016, 2015, 2010, 2005, 2000])
df = pd.DataFrame({0: ["Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan"],
1: [0.0, 4.8, 5.1, 6.3, 5.7]}, index=df_index)
df.index = df.index.set_names("Period")
df = df.drop(columns=0)
df = df.rename(columns={1: "Afghanistan"})
afghanistan_series = df.loc[2016]
Ausgabe:
[code]
Afghanistan 0.0
df_index = pd.Index([2016, 2015, 2010, 2005, 2000])
df = pd.DataFrame({0: ["Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan"],
1: [0.0, 4.8, 5.1, 6.3, 5.7]}, index=df_index)
df.index = df.index.set_names("Period")
df = df.drop(columns=0)
df = df.rename(columns={1: "Afghanistan"})
afghanistan_series = df.loc[2016]
afghanistan_series = afghanistan_series.T
Wie man sieht macht es kein Unterschied da wird mit loc eine Series zurückbekommen und diese haben keine Columns ....
Ausgabe:
Code: Alles auswählen
afghanistan_series = pd.DataFrame(df.loc[2016])
afghanistan_series = afghanistan_series.T
Ausgabe :
Man sieht hier den Unterschied noch besser wenn es mehrere Werte werden:
Code: Alles auswählen
df_index = pd.Index([2016, 2015, 2010, 2005, 2000])
df = pd.DataFrame({0: ["Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan"],
1: [0.0, 4.8, 5.1, 6.3, 5.7],
2: [1, 2, 3, 4, 5],
3: [6, 7, 8, 9, 10],
4: [11, 12, 13, 14, 15]
},
index=df_index)
df_series_to_frame = pd.DataFrame(df.loc[2016])
Ausgabe:
Code: Alles auswählen
df_index = pd.Index([2016, 2015, 2010, 2005, 2000])
df = pd.DataFrame({0: ["Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan"],
1: [0.0, 4.8, 5.1, 6.3, 5.7],
2: [1, 2, 3, 4, 5],
3: [6, 7, 8, 9, 10],
4: [11, 12, 13, 14, 15]
},
index=df_index)
df_series_to_frame = pd.DataFrame(df.loc[2016]).T
Ausgabe:
Ich hoffe Ich konnte dir helfen.