daikiclimate
@daikiclimate (It dk)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

pandasの形の変換(3列→正方形に)

Q&A

Closed

悩んだのですが、numpyに変換してforする以外の方法が思いつかなかったので、pandasのメソッドの範囲でできる方法が知りたいです。

f1 f2 f3
1 1 1 0.5
2 1 2 0.2
3 2 1 0.9
4 2 2 0.1

このような表に対して、

1 2
1 0.5 0.2
2 0.9 0.1

このような形に変形させたいです。
実際はもっと大きな表なので、できるだけ効率の良い方法さがしています。よろしくお願いします。

0

1Answer

df.pivot()を用います。

import pandas as pd

df = pd.DataFrame({'f1': [1, 1, 2, 2],
                   'f2': [1, 2, 1, 2],
                   'f3': [0.5, 0.2, 0.9, 0.1]})
#    f1  f2   f3
# 0   1   1  0.5
# 1   1   2  0.2
# 2   2   1  0.9
# 3   2   2  0.1


df.pivot('f1', 'f2', 'f3')
# f2    1    2
# f1
# 1   0.5  0.2
# 2   0.9  0.1
1Like

Comments

  1. @daikiclimate

    Questioner

    ありがとうございます!
    助かりました!

Your answer might help someone💌