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

如何使用Pandas从透视表生成二分类交叉验证表

方案1:基于已有透视表转换

如果已经生成了透视后的DataFrame(命名为pivot_df),直接调用pandas内置矢量化方法即可,无需任何循环:

binary_cross_table = pivot_df.notna()

该操作底层为C实现,处理大规模数据集时效率远高于Python层循环,输出结果会自动将非空值映射为True、空值映射为False,完全匹配二值化交叉验证表的要求。

方案2:从原始数据一步生成目标表

如果还未执行透视操作,可以在构建透视表时直接指定规则,一步得到结果,无需二次处理:

binary_cross_table = pd.pivot_table(
    raw_df, # 替换为你的原始数据集变量名
    index="行维度列名", # 替换为实际行维度的列名
    columns="列维度列名", # 替换为实际列维度的列名
    aggfunc=lambda x: True, # 存在对应行列组合就返回True
    fill_value=False # 无对应组合填充False
)

如果你有自定义有效值判定规则(比如0、空字符串也需要判定为False),可以叠加矢量化布尔判断调整,不会损失运行效率:

# 示例:空值和0值都判定为False,其余为True
binary_cross_table = pivot_df.notna() & (pivot_df != 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:18:04