2017-02-22 26 views
9

Khá chắc chắn điều này rất đơn giản.Làm cách nào để chuyển đổi dataframe trong gấu trúc mà không có chỉ mục?

Tôi đang đọc một tập tin csv và có dataframe:

Attribute A B C 
a   1 4 7 
b   2 5 8 
c   3 6 9 

tôi muốn làm một transpose để có được

Attribute a b c 
A   1 2 3 
B   4 5 6 
C   7 8 9 

Tuy nhiên, khi tôi làm df.T, nó kết quả trong

   0 1 2 
Attribute a b c 
A   1 2 3 
B   4 5 6 
C   7 8 9` 

Làm cách nào để loại bỏ các chỉ mục ở trên cùng?

+1

Đặt lại chỉ mục và sau đó transpose: 'df.reset_index() T'.. – Abdou

+0

Umm ... thực sự đã thêm hai hàng 0 1 2. – user2237511

+0

Xin lỗi, tôi đã đọc sai câu hỏi. Nếu dataframe của bạn được cấu trúc theo cách bạn đã hiển thị ở đây, 'df.T' sẽ giúp bạn có được kết quả mong muốn. Nghĩa là, nếu 'df.index' là' Chỉ mục (['a', 'b', 'c'], dtype = 'đối tượng') 'và' df.columns' là 'Chỉ mục (['A', ' B ',' C '], dtype =' đối tượng ') '. – Abdou

Trả lời

11

Bạn có thể đơn giản đặt chỉ mục thành cột đầu tiên trong khung dữ liệu trước tiên, sau đó chuyển vị trí không?

df.set_index('Attribute',inplace=True) 
df.transpose() 

Hoặc

df.set_index('Attribute').T 
+1

'column1' là gì? –

3

Nó làm việc cho tôi:

>>> data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} 
>>> df = pd.DataFrame(data, index=['a', 'b', 'c']) 
>>> df.T 
    a b c 
A 1 2 3 
B 4 5 6 
C 7 8 9 
Các vấn đề liên quan