Untuk membentuk semula set data dari lajur ke baris, di mana setiap lajur mewakili tarikh yang berbeza dan output yang dikehendaki memerlukan lajur "Tarikh" dan lajur "Nilai", gunakan leburan Pandas fungsi.
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
Contoh:
import pandas as pd df = pd.DataFrame( { "location": ["A", "B"], "name": ["test", "foo"], "Jan-2010": [12, 18], "Feb-2010": [20, 20], "March-2010": [30, 25], } ) result = df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value") print(result)
Output:
location name Date Value 0 A test Jan-2010 12 1 B foo Jan-2010 18 2 A test Feb-2010 20 3 B foo Feb-2010 20 4 A test March-2010 30 5 B foo March-2010 25
df2 = pd.melt(df, id_vars=["location", "name"], var_name="Date", value_name="Value") df2 = df2.sort(["location", "name"]) # Optionally, reset the index # df2 = df2.reset_index(drop=True)
Kod ini akan mengisih output mengikut "lokasi" dan "nama" dan memberikan output bersih tanpa indeks.
Nota: Dalam versi Panda yang lebih baharu, gunakan nilai_isih dan bukannya isih.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Lajur Pandas DataFrame menjadi Baris dengan Lajur 'Tarikh' dan 'Nilai'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!