2017-10-04 79 views
2

我有CSV文件看起來像這樣:如何讀取csv文件包含圖像的像素值與熊貓據幀

im1000100101  0 
im1011100101  1 

第一列是圖像的像素值,第二欄是類的形象。如何使用pd.read_csv()將每個像素保存在單獨的列中。我想我的數據幀是這樣的:

px-1 px-2 px-3 px-4 px-5 px-6 px-7 px-8 px-9 px-10 label 
1  0  0  0  1 0  0  1  0  1  0 
1  0  1  1  1 0  0  1  0  1  1 

回答

3

使用read_fwf

import pandas as pd 
from pandas.compat import StringIO 

temp=u"""im1000100101  0 
im1011100101  1""" 
#after testing replace 'StringIO(temp)' to 'filename.csv' 
N = 12 
df = pd.read_fwf(StringIO(temp), header=None, widths=[1] * N + [6], usecols=range(2,13)) 
df.columns = ['px-{}'.format(x+1) for x in df.columns[:-1]] + ['label'] 
print (df) 
    px-1 px-2 px-3 px-4 px-5 px-6 px-7 px-8 px-9 px-10 label 
0  1  0  0  0  1  0  0  1  0  1  0 
1  1  0  1  1  1  0  0  1  0  1  1 
+0

非常感謝! – Ali

+0

我在你的代碼有一個問題'+ [6]'是的空格數? – Ali

+0

是的,這是空間內的數據+ len個 - 5空間+ 1 – jezrael