我想根據需要全部滿足的條件列表來選擇DataFrame的行。 這些條件存儲在字典中,格式爲{column:max-value}。Pandas DataFrame:如何在多個條件下選擇行?
這是一個例子:dict = {'name': 4.0, 'sex': 0.0, 'city': 2, 'age': 3.0}
我需要選擇所有數據幀行,其中相應的屬性是小於或等於在字典中的相應值。
我知道,選擇基於兩個或兩個以上條件的行我可以寫:
rows = df[(df[column1] <= dict[column1]) & (df[column2] <= dict[column2])]
我的問題是,我怎麼能選擇行存在於一個Python化的方式字典的條件相匹配? 我試過這種方式,
keys = dict.keys()
rows = df[(df[kk] <= dict[kk]) for kk in keys]
,但它給我一個錯誤=「[ expected
」不會消失,甚至把[
符號。
因爲'dict'是一個內置的Python字典的構造函數不要對你的變量'dict'。 – Abdou