python - 基于多个用户输入值过滤 Pandas 数据帧
问题描述
我有以下代码来选择数据框中的单行:
products_df1_final = (products_df1.loc[products_df1['uuid'] == "790a06bf-91a5-
487e-988e-2c8294bd4355"])
products_df1_final
但是,当用户输入多个“uuid”字段值进行过滤时,我似乎无法使其工作。我想创建一个小代码来要求用户输入各种“uuid”字段值,以便创建一个只有用户选择的“uuid”行的数据框。
以下代码不起作用:
n = str(input('Enter product numbers:')) products_df1_final =
(products_df1.loc[products_df1['uuid'] == 'n'])
display(products_df1_final[['title','uuid','ingestiondate','size']])
解决方案
一个问题是您使用输入变量的方式n
。如果像您一样引用它,它将被视为字符串"n"
而不是变量名。
另一种方式是输入的样子。如果它是一个字符串,它将不起作用。你必须使用一个列表。一个例子可能是:
n = str(input('Enter product number:'))
m = str(input('Enter another product number:'))
products_df1_final = (products_df1.loc[products_df1['uuid'] == [n, m]])
或者,将其扩展到实际的列表变量product_names
:
product_names = []
pname = None
while pname != '':
pname = str(input('Enter product number:'))
if pname != '':
product_names.append(pname)
products_df1_final = (products_df1.loc[products_df1['uuid'] == product_names])
推荐阅读
- openssl - 将 .pfx 文件导入 Windows 证书存储时出现“您输入的密码不正确”
- python - 打印列表项和列表的另一项
- html - 添加缩放属性后悬停时,我的 div 容器会覆盖导航栏
- python - 按 (a), (b), ..., (z) 分割
- python - Python字典冒号等于
- python - Python在字符串中查找文本
- android - 插件 AppDynamics Android Agent Installer 1.1.38 中的异常
- amazon-web-services - AWS SQS 服务调用频繁出现 5XX 错误和 i/o 超时错误
- ajax - Angular调用API而不显示响应数据
- r - 如何使用 R 中的应用函数来规范化数据框?