2015-01-31 2 views
0

Допустим, у меня есть данные, загруженные из таблицы:Python Панды индекс Настройка Dataframe и имена столбцов из массива

df = pd.read_csv('KDRAT_2012.csv', index_col=0, encoding = "ISO-8859-1",) 

     0  1  2  3  4  5  6  7  8  9 

0 -5.53 -6.69 -6.29 -5.76 -7.74 -7.66 -6.27 -4.13 -3.08 0.00 
1 -5.52 -6.68 -6.28 -5.75 -7.73 -7.65 -6.26 -4.12 -3.07 0.01 
2 -4.03 -5.19 -4.79 -4.26 -6.24 -6.16 -4.77 -2.63 -1.58 1.50 
3 0.11 -1.05 -0.65 -0.12 -2.10 -2.02 -0.63 1.51 2.56 5.64 
4 0.23 -0.93 -0.53 0.00 -1.98 -1.90 -0.51 1.63 2.68 5.76 
5 -2.53 -3.69 -3.29 -2.76 -4.74 -4.66 -3.27 -1.13 -0.08 3.00 

[6 rows x 10 columns] 

и у меня есть имена в другом dataframe для строк и столбцов, например

colnames = pd.DataFrame({'Names': ['A', 'B', 'C', 'D', 'E', 'F'], 
        'foo': [0, 1, 0, 0, 0, 0]}) 

Есть ли способ установить значения в colnames['Names'].value в качестве индекса для df? и есть ли способ сделать это для имен столбцов?

ответ

1

Как насчет df.index = colnames['Names'], например:

In [77]: df = pd.DataFrame(np.arange(18).reshape(6,3)) 

In [78]: colnames = pd.DataFrame({'Names': ['A', 'B', 'C', 'D', 'E', 'F'], 
        'foo': [0, 1, 0, 0, 0, 0]}) 

In [79]: df.index = colnames['Names'] 

In [80]: df 
Out[80]: 
     0 1 2 
Names    
A  0 1 2 
B  3 4 5 
C  6 7 8 
D  9 10 11 
E  12 13 14 
F  15 16 17 

[6 rows x 3 columns]