変数の名前を含む列と、この変数の値を含む列を持つデータフレームがあります。このテーブルの行の例は次のとおりです。
id variable value date
0 AS14.01 mood 6.000 2014-02-26
1 AS14.01 acti 0.091 2014-03-20
2 AS14.01 pers 0.101 2014-04-21
これを、変数列の一意の値がそれぞれの行の値を含む新しい列を形成するデータフレームに変換したいと思います。特定のIDについては、日付ごとに1行のみにする必要があります。上記のデータフレームの行の例は次のとおりです。
id date mood acti pers
0 AS14.01 2014-02-26 6.000 NaN NaN
1 AS14.01 2014-03-20 NaN 0.091 NaN
2 AS14.01 2014-04-21 NaN NaN 0.101
同様の質問が以前にstackoverflowに投稿された可能性がありますが、この問題の正しい表現が見つかりません。誰もが助けてくれることを願っています。
これがget_dummies
。の1つの方法です。ピボットを使用することもできます。これにより、元のvariable
列が自動的に削除されることはありません。
df = df.join(pd.get_dummies(df.variable).replace(0, np.nan).mul(df.value, axis=0))
# id variable value date acti mood pers
# 0 AS14.01 mood 6.000 2014-02-26 NaN 6.0 NaN
# 1 AS14.01 acti 0.091 2014-03-20 0.091 NaN NaN
# 2 AS14.01 pers 0.101 2014-04-21 NaN NaN 0.101
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加