データセットを列から行に再形成するには、各列が異なる日付を表し、目的の出力には「日付」列が必要です。および「値」列では、Pandas メルトを使用します。 function.
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
例:
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)
出力:
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)
このコードは、出力を「場所」と「名前」で並べ替え、インデックスのないクリーンな出力を提供します。
注: 新しいバージョンの Pandas では、sort の代わりに sort_values を使用します。
以上がPandas DataFrame 列を「日付」列と「値」列を含む行に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。