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

如何通过IronPython为数据函数输入设置过滤方案?

IronPython 数据过滤方案(不修改原数据表)

场景1:仅过滤输入列数据(不复制数据表)

直接对传入的列数据做过滤处理,原数据表保持完全不变。以下是两种常见实现方式:

基础列表/迭代器过滤

如果输入列是基础迭代结构(如列表):

# 假设 input_column 是从原数据表获取的列数据
filtered_data = [item for item in input_column if item > 10]

# 后续可直接使用 filtered_data 做计算或可视化,原数据表无任何改动

Pandas 列过滤(环境支持时)

如果你的IronPython环境集成了Pandas:

# input_series 是从原DataFrame提取的目标列
filtered_series = input_series[input_series > 10]

场景2:复制数据表并过滤副本

如果需要保留完整表结构的过滤结果,可先复制原表再操作副本,原表不受影响:

Pandas DataTable 复制过滤

# 复制原数据表生成独立副本
copied_df = original_df.copy()

# 对副本应用过滤条件,示例为保留"target_col"列值大于10的行
filtered_df = copied_df[copied_df["target_col"] > 10]

# 后续操作仅针对 filtered_df,原表 original_df 完全未被修改

.NET DataTable 复制过滤(IronPython原生支持)

import clr
clr.AddReference("System.Data")
from System.Data import DataTable

# 复制原DataTable生成独立副本
copied_dt = original_dt.Copy()

# 遍历副本标记需删除的行,避免遍历中修改集合引发异常
rows_to_remove = []
for row in copied_dt.Rows:
    if row["target_col"] <= 10:
        rows_to_remove.append(row)

# 删除不符合条件的行
for row in rows_to_remove:
    copied_dt.Rows.Remove(row)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:34:49