2017-12-05 8 views
0

パンダを使用するときに1つの列のみを返しますが、私のcsvファイルがここread_csv

Country   2010 2011 2012 2013 2014 
Albania   5.5  19.1 6.9  15.4 8 
Algeria   18.2 6  8.1  20  9.5 
American Samoa 14.1 13.8 3  14.7 2.3 
Andorra   16  3  13.6 12.4 8.3 
Angola   17.8 9.8  8.8  6.5  5.5 

である私のコード:

import pandas as pd 

test = pd.read_csv('C:\\Users\\Wing\\Desktop\\TEST.csv',sep='\t') 

print(test.head()) 
print(test.shape) 
print(test.columns) 
print(test.dtypes) 

出力:

the print test.shape command will output (14,1) 
the print test.columns command will output(Index(['Country,2010,2011,2012,2013,2014'], dtype='object') 

ので、私はそれらを分離する方法6列

+0

それは私 – Sebastian

答えて

1

あなたのcsvファイルはきれいです:

In [ ]: from io import StringIO 
    ...: import pandas as pd 
    ...: TESTDATA = StringIO("""Country   2010 2011 2012 2013 2014 
    ...: Albania   5.5  19.1 6.9  15.4 8 
    ...: Algeria   18.2 6  8.1  20  9.5 
    ...: American Samoa 14.1 13.8 3  14.7 2.3 
    ...: Andorra   16  3  13.6 12.4 8.3 
    ...: Angola   17.8 9.8  8.8  6.5  5.5""") 
    ...: test = pd.read_csv(TESTDATA,sep='\t') 
    ...: print(test) 
    Country   2010 2011 2012 2013 2014 
0 Albania   5.5  19.1 6.9  15.4 8 
1 Algeria   18.2 6  8.1  20 ... 
2 American Samoa 14.1 13.8 3  14.7 ... 
3 Andorra   16  3  13.6 12.4 ... 
4 Angola   17.8 9.8  8.8  6.5 ... 
+0

ために完全に正常に動作しますが、私はプリント(test.shape)を使用する場合、それは(6,1)を表示それは6行に1列 を意味するので、私は、印刷(テスト[「2010」を使用することはできません])コマンドを実行すると、keyerror: '2010'が出力されます。列名は6桁(国、2010年、2011年...など)にはなりません(国2010 2011 2012 2013 2014) – GaryNg

関連する問題