2016-09-19 355 views
1

我有一個數據集D,其中包含來自[A - Z]的列共26列。我做了一些測試,並認識了這是在一系列的有用列給我S.從熊貓系列中選擇數值

D #Dataset with columns from A - Z 
S 
B 0.78 
C 1.04 
H 2.38 

S具有列和與之相關聯的價值,所以我現在知道他們的重要性,並希望保留只有數據集中的那些列例如(B,C,D)我該怎麼做?

回答

3

IIUC你可以使用:

cols = ['B','C','D'] 
df = df[cols] 

或者,如果列名是Series作爲值:

S = pd.Series(['B','C','D']) 
df = df[S] 

樣品:

df = pd.DataFrame({'A':[1,2,3], 
        'B':[4,5,6], 
        'C':[7,8,9], 
        'D':[1,3,5], 
        'E':[5,3,6], 
        'F':[7,4,3]}) 

print (df) 
    A B C D E F 
0 1 4 7 1 5 7 
1 2 5 8 3 3 4 
2 3 6 9 5 6 3 

S = pd.Series(['B','C','D']) 
print (S) 
0 B 
1 C 
2 D 
dtype: object 

print (df[S]) 
    B C D 
0 4 7 1 
1 5 8 3 
2 6 9 5 

或者index值:

S = pd.Series([1,2,3], index=['B','C','D']) 
print (S) 
B 1 
C 2 
D 3 
dtype: int64 

print (df[S.index]) 
    B C D 
0 4 7 1 
1 5 8 3 
2 6 9 5 
+1

偉大的答案 - 你的樣本可以幫助我可視化矩陣操作! – ptim