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

Pandas如何正确使用行筛选得到的df_filtered数据执行后续操作?

Pandas筛选后导出异常问题解决

问题根因

原有代码的操作顺序存在逻辑错位:行筛选得到df_filtered后,后续的列重命名、列筛选、导出操作默认针对全量的excel_data_df执行,若仅替换部分代码里的变量名,很容易出现操作对象还是全量表的情况,最终导出全量数据。

修正方案(第14行起直接替换原有代码即可)

所有后续操作全部针对已筛选完成的df_filtered执行,不要操作全量的excel_data_df:

# 对筛选后的数据集重命名列
df_filtered.columns = ['Code', 'Student Name', 'Class', 'School Name','City Name']
# 指定需要保留的列
cols_to_keep = ['Student Name', 'Class', 'School Name','City Name']
# 筛选目标列
df_filtered = df_filtered[cols_to_keep]
# 导出为JSON文件
json_str = df_filtered.to_json(PathLink,orient='records',indent=2)

可选优化方案

你也可以调整操作顺序,先完成列重命名再做行筛选,逻辑更不容易出错:

# 先对全量数据集重命名列
excel_data_df.columns = ['Code', 'Student Name', 'Class', 'School Name','City Name']
# 再按条件筛选行,注意列名使用重命名后的`Code`
df_filtered = excel_data_df.loc[lambda x: x['Code'] == 'AB123']
# 筛选目标列
cols_to_keep = ['Student Name', 'Class', 'School Name','City Name']
df_filtered = df_filtered[cols_to_keep]
# 导出为JSON文件
json_str = df_filtered.to_json(PathLink,orient='records',indent=2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:39:04