You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查用户输入是否等于Pandas数据框某行指定列的值?

检查用户输入是否匹配Pandas DataFrame行中特定值的实现方法

你的需求是验证用户输入的T/F是否与随机抽取的DataFrame行中第三列(true or false)的值一致,核心是修正伪代码中获取目标列值的部分,同时需要注意CSV数据里的空格问题(部分值带有前导空格,比如 F),避免匹配失败。

修正后的完整代码

import pandas as pd
import random

df = pd.read_csv('pyquiz.csv')     
index_list = df.index.to_list()
random.shuffle(index_list)

user_input = input("Enter command: ")  # 补充获取用户指令的逻辑
if user_input == 'quiz':
    for i in index_list:
        # 优化题目展示,只打印题干部分(可选)
        print(f"Question: {df.iloc[i]['statements']}")
        x = input('Enter T or F: ').strip()  # 去除用户输入的前后空格
        # 获取当前行的正确答案,并清理空格
        correct_answer = df.iloc[i]['true or false'].strip()
        # 大小写不敏感匹配,提升用户体验
        if x.upper() == correct_answer.upper():
            print("Correct!")
        else:
            print(f"Wrong! Correct answer is {correct_answer}")
        input('\nPress enter to continue: ')

关键细节说明

  • 获取目标列值:用df.iloc[i]['true or false']替代你伪代码中的df.'Column_3_value_for_this_row',这是Pandas中按行索引+列名取值的标准写法。
  • 处理空格问题:CSV里的部分答案带有前导空格(比如 F),用strip()清理字符串前后空白,避免因空格导致匹配失败。
  • 大小写兼容:通过upper()统一转换为大写,支持用户输入小写t/f也能正确匹配。
  • 格式修正:原代码存在缩进错误,已统一调整为符合Python规范的格式。

内容的提问来源于stack exchange,提问作者jricks72

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:12:49