基于多条件过滤Pandas DataFrame返回空数据框的问题排查
多条件过滤DataFrame返回空结果的问题
我在使用多条件过滤Pandas DataFrame时遇到问题:通过用户输入的变量进行过滤后,返回空DataFrame,但直接把变量替换成具体值就能正常获取对应行。
DataFrame结构示例:
| ID | Category | Name | Price |
|---|---|---|---|
| 101 | Vehicle | Car | 50000 |
| 102 | Gadgets | Phone | 1000 |
| 101 | Gadgets | Laptop | 2000 |
我的代码:
user_ID_existing = input("Enter User ID:") print("Available categories are:\n Vehicle\tGadgets") user_Category_existing = str(input("Choose from the above category:")) info = pd.read_excel("Test.xlsx") data = pd.DataFrame(info) df = data[((data.ID == user_ID_existing) & (data.Category == user_Category_existing))] print(df)
我还尝试用numpy实现过滤,同样返回空数据框:
filtered_values = np.where((data['ID'] == user_ID_existing) & (data['Category'].str.contains(user_Category_existing))) print(filtered_values) print(data.loc[filtered_values])
内容的提问来源于stack exchange,提问作者Bharath
相关产品推荐
相关产品推荐

