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

pandas调用dropna时报错unexpected keyword argument 'tresh'如何解决

问题解决方法

1. 直接报错原因

你把dropna()的参数名拼写错了,正确参数是thresh,你写的tresh少了一个字母h,所以pandas识别不了这个参数才抛出类型错误。

2. 业务逻辑修正

你当前的参数值设置也不符合需求:
thresh参数的含义是「指定subset范围内,该行至少存在多少个非NaN值才会被保留」
你的需求是NaN出现次数超过2次的行删除,也就是每行最多允许2个NaN,你选中的P1-xx列总共有12个,所以需要至少12-2=10个非NaN值才保留,所以thresh值应该设为10,不是2。

3. 优化建议

你可以不用手动罗列所有P1-xx格式的列,用正则匹配自动筛选对应列,后续新增同格式列也不需要修改代码。

修正后完整代码

import pandas as pd
import numpy as np
from less_memory_usage import remove_the_same_gt, to_csv

just_gt = remove_the_same_gt('data1.csv', 'data2.csv')
just_gt_nan = just_gt.replace('.', np.nan)
# 自动筛选所有P1-xx格式的列
sample_cols = just_gt_nan.filter(regex=r'^P1-\d+$').columns
# 最多允许2个NaN,即至少有 len(sample_cols)-2 个非NaN值才保留
drop_dots = just_gt_nan.dropna(thresh=len(sample_cols)-2, subset=sample_cols)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:45:05