50
の2番目の列の値は、各行のExcel
に1つのセル内にあるようです。
私はあなたが最初の列a
をapply
Series
によってnumpy array
列新しい列を作成してconcat
ことができると思います。最後の書き込みto_csv
:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [0,1,5], 'b': [np.arange(50), np.arange(50), np.arange(50)]})
print df
a b
0 0 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
1 1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
2 5 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
print df.b.apply(pd.Series)
0 1 2 3 4 5 6 7 8 9 ... 40 41 42 43 44 45 46 47 \
0 0 1 2 3 4 5 6 7 8 9 ... 40 41 42 43 44 45 46 47
1 0 1 2 3 4 5 6 7 8 9 ... 40 41 42 43 44 45 46 47
2 0 1 2 3 4 5 6 7 8 9 ... 40 41 42 43 44 45 46 47
48 49
0 48 49
1 48 49
2 48 49
df = pd.concat([df['a'], df.b.apply(pd.Series)], axis=1)
print df
[3 rows x 50 columns]
a 0 1 2 3 4 5 6 7 8 ... 40 41 42 43 44 45 46 47 48 49
0 0 0 1 2 3 4 5 6 7 8 ... 40 41 42 43 44 45 46 47 48 49
1 1 0 1 2 3 4 5 6 7 8 ... 40 41 42 43 44 45 46 47 48 49
2 5 0 1 2 3 4 5 6 7 8 ... 40 41 42 43 44 45 46 47 48 49
#for testing
print df.to_csv()
#write to file
#print df.to_csv('filename')
,a,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
1,1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
2,5,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
EDIT:
あなたはDataFrame
to_excel
書く必要がある場合:
#write to excel, omit index of DataFrame
df.to_excel('test.xlsx', index=False)
を私はExcelの一部の表示の問題だと思います。テキストエディタでファイルを確認できますか? – ayhan
あなたは正しいですか?この質問を削除するのが最善でしょうか?それとも言い換えればいい? – Moppentapper
あなたの質問が今後他の誰かに役立つと思うなら、私はあなたがそれを削除する必要はないと思う。もっと役に立つと思うなら、それも言い換えることができます。それはあなた次第です。 :) – ayhan