1
私は5列×4列に再構成したい20個の項目を持つpandasデータフレームを持っています。パンダのデータフレームの1つの列から多数の列または複数の列に移動する
これはパンダのデータフレームで可能ですか?そして、その逆を行い、結果の5 * 4データフレームを2 * 10または1 * 20に変換することは可能ですか?
私は5列×4列に再構成したい20個の項目を持つpandasデータフレームを持っています。パンダのデータフレームの1つの列から多数の列または複数の列に移動する
これはパンダのデータフレームで可能ですか?そして、その逆を行い、結果の5 * 4データフレームを2 * 10または1 * 20に変換することは可能ですか?
は私がnumpy array
に変換するために、あなたが最初にvalues
使用することができると思うし、その後numpy.ndarray.reshape
:コメントによって
df = pd.DataFrame({'A':[1,2,3,7,7],
'B':[4,5,6,8,0],
'C':[7,8,9,7,8],
'D':[1,3,5,8,1]})
print (df)
A B C D
0 1 4 7 1
1 2 5 8 3
2 3 6 9 5
3 7 8 7 8
4 7 0 8 1
df = pd.DataFrame(df.values.reshape(4,5),columns=list('ABCDE'))
print (df)
A B C D E
0 1 4 7 1 2
1 5 8 3 3 6
2 9 5 7 8 7
3 8 7 0 8 1
print (df.values.reshape(10,2))
[[1 4]
[7 1]
[2 5]
[8 3]
[3 6]
[9 5]
[7 8]
[7 8]
[7 0]
[8 1]]
print (pd.DataFrame(df.values.reshape(10,2), columns=list('AB')))
A B
0 1 4
1 7 1
2 2 5
3 8 3
4 3 6
5 9 5
6 7 8
7 7 8
8 7 0
9 8 1
EDIT:
pos = [1,5,7,8,10,8]
print (pd.DataFrame(np.array(pos).reshape(2,3),columns=list('ABC')))
A B C
0 1 5 7
1 8 10 8
何をのようなものを渡す場合リストをデータフレームに追加すると、同時に変更することはできますか?たとえば、posが私のリストである場合、私はエラーが発生します:pd.DataFrame(pos).reshape(4,5)、columns = list( 'ABCDE')) – yoshiserry
' pd.DataFrame(np.array(pos).extape(4,5)、columns = list( 'ABCDE')) ' – jezrael
私は答えを編集しています。 – jezrael