代码执行报错NameError: name 'df_true' is not defined,请求排查
解决NameError: name 'df_true' is not defined问题
错误原因
这个错误的核心是:你代码里用到的df_true变量,在执行这段操作代码之前,根本没有被定义(也就是没创建过这个DataFrame对象)。同理df_false也会面临同样的问题,只是报错先触发在df_true上。
解决步骤
- 先初始化DataFrame:在这段代码之前,必须先通过读取文件、手动创建等方式生成
df_true和df_false。比如从CSV读取的示例:import pandas as pd # 替换成你的实际数据路径 df_true = pd.read_csv('true_data.csv') df_false = pd.read_csv('false_data.csv') - 检查变量拼写:确认前面定义变量时的名称和这里使用的
df_true/df_false完全一致,大小写、字母拼写错误都会触发这个报错。 - 排查作用域问题:如果
df_true是在某个函数内部定义的,外部代码无法直接访问,要么把变量定义移到全局作用域,要么通过函数返回值获取DataFrame。
代码优化建议
你当前循环删除行的写法可以简化,不用手动遍历索引,直接用Pandas的内置方法更高效:
# 保留df_true除最后10行外的所有数据,替代循环删除 df_true = df_true.head(-10) # 或者用drop删除最后10行的索引 df_true = df_true.drop(df_true.tail(10).index) # df_false同理 df_false = df_false.head(-10)
内容的提问来源于stack exchange,提问作者Subham Giri
相关产品推荐
相关产品推荐

