2017-07-24 79 views
0

我有一個DataFrame具有相似的值。重要的是值所在的列。 (主數據幀)搜索整個DataFrame

值= [( '12345', '23456', '34567', '45678'),
( '56789', '67890', '789102', '854695'),
( '221155', '5968','55 -BP」, '69853')]

標籤= [ '列A', 'B列', 'C列', '列d']

main_df = pd.DataFrame.from_records(values,columns = label)

我正在尋找一種方法來傳遞值列表來搜索整個DataFrame並獲取列。 (名單) 名單=( '56789',55-BP)

(Output DataFrame) 
Val 1 | Column A 
Val 2 | Column C 

如果是比較容易,我可以轉置軸,並得到了指數。

Val 1 | Index A 
Val 2 | Index x 

我真的很想用Python列表(沒有在鍵入一個逗號分隔的列表)

謝謝

+0

您能否在此問題中包含樣本輸入和預期輸出? –

回答

0

stack()是在數據幀

values=[('12345', '23456', '34567', '45678'), 
('56789', '67890', '789102', '854695'), 
('221155','5968', '55-BP', '69853')] 

label=['column A', 'column B', 'column C', 'column D'] 

main_df=pd.DataFrame.from_records(values, columns=label) 

list = ['56789', '55-BP'] 

##### 

main_df.stack().reset_index(level=[0,1]).set_index(0).loc[list] 
有用的功能

得到

level_0 level_1 
0  
56789 1 column A 
55-BP 2 column C 

level_0是您需要的索引,level_1是您需要的列。