Pandas を使用して表形式データを再構成する: 列を行に変換する
さまざまな日付またはカテゴリの列に編成されたデータを扱うのは面倒な場合があります。 Pandas は、そのような列を読みやすい行に変換する強力なソリューションを提供します。この記事では、位置情報と複数の日付列を含む CSV を目的の形式に変換するという具体的な課題について説明します。
問題点:
次のように整理された情報を含むデータセットを考えてみましょう。場所。それぞれの列ヘッダーとして複数の日付が含まれます。目標は、各行が一意の場所、名前、日付、および対応する値を表す形式にデータを再構築することです。
Pandas ソリューション:
Pandas が提供するもの溶融物を使用してこの変換を達成する非常に効率的な方法function.
コード:
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
説明:
結果:
指定されたデータセットにメルト関数を適用すると、目的の出力が得られます:
location | name | Date | Value |
---|---|---|---|
A | "test" | Jan-2010 | 12 |
B | "foo" | Jan-2010 | 18 |
A | "test" | Feb-2010 | 20 |
B | "foo" | Feb-2010 | 20 |
A | "test" | March-2010 | 30 |
B | "foo" | March-2010 | 25 |
この新しい配置場所、名前、およびデータによるデータの分析が容易になります。 date.
注:
古いバージョンの Pandas (0.20 以前) の場合は、次の代替アプローチを使用できます:
df2 = pd.melt(df, id_vars=["location", "name"], var_name="Date", value_name="Value") df2 = df2.sort(["location", "name"])
以上がPandas の「melt()」関数はどのようにして表データを列から行に再構築できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。