基于iloc和用户inpu的Pandas数据检索

2024-06-11 21:13:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小的SQLite数据库,里面有关于导体的数据。该程序打印名称和Pandas ID的列表,接受用户输入的ID,然后打印有关所选导体的所有信息。在

我试图弄清楚如何从指定的列中选择一个特定的项—稍后,我将允许输入,但现在,我只是在print()中手动指定,以简化自己的故障排除。在

程序一直工作到组合条件打印行。我怀疑将字符串转换为int会使这比需要的更困难;如果有更好的方法来选择一个条目(例如,只匹配db中给定的名称),我愿意接受。在

with lite.connect(db_path) as db:

df = pd.read_sql_query('SELECT * FROM cond', conn)
print('What conductor are you analyzing?')

try:
    print(pd.read_sql_query('SELECT name FROM cond', conn)) # List names and Pandas IDs
    getCond = int(input('\nEnter the ID #: ')) # cast string to int to allow .iloc
    printSel = df.iloc[getCond]
    print()
    print(printSel)
    print(df[(df['Amps']) & (df.iloc == getCond)])

finally:
    if conn:
        conn.close()

编辑:选择项目后引发的错误是

“TypeError:无法将dtyped[object]数组与[bool]类型的标量进行比较”

我不知所措,因为我认为这是在说&运营商被比作某种东西,而不是用它来打印任何符合“这个和那个”的东西


Tags: 程序名称idpandasdfreaddbsql