我有一個dataframe dfall,其中有一行標記爲'row1',值爲'foo'和'bar'。我想只選擇dfall的列,其中'row1'的值爲'foo'。Python pandas:選擇列滿足某個條件的列
換句話說:
dfall= pd.DataFrame([['bar','foo'],['bla','bli']], columns=['col1','col2'], index=['row1','row2'])
我想作爲導致列「col2'containing:['foo','bli']
我想:
dfall[dfall.loc['row1'].isin(['foo'])]
我得到的錯誤
IndexingError: Unalignable boolean Series key provided
任何人都可以幫助我執行命令嗎?提前致謝!
此答案假定所有列都包含字符串。對於問題中給出的示例數據框,情況確實如此,但這顯然是佔位符。如果有數字列,''df =='foo'''將會失敗並出現''TypeError''。 – Schmuddi
@Schmuddi我只能回答說明的內容,除非OP完全描述問題域,那麼這個答案滿足當前問題 – EdChum
非常感謝!爲了使它具體行,我做了:df.ix [:,(df.loc ['row1'] =='foo')] – Fringant