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

使用密钥加密句子时遇到DataFrame.any()参数错误问题

解决DataFrame.any()参数错误:TypeError: takes 1 positional argument but 2 were given

错误原因

这个报错源于Pandas版本更新后的API变更:DataFrame.any()方法不再支持位置参数(比如直接传1),必须通过关键字参数axis=1来指定按行检查是否存在True值。旧版本允许any(1)的简写,但新版本强制要求显式使用axis=1来明确轴方向。

修正方案

把解密函数中的报错行:

index_nb = df[df.eq(j).any(1)]

替换为:

index_nb = df[df.eq(j).any(axis=1)]

完整修正后的decode_message函数

def decode_message(message):
    new_word = ''
    decoded_message = []

    for i in range(0, len(message), 2):
        j = message[i:i + 2]
        # 修正any()的参数写法,用axis=1指定按行检查
        index_nb = df[df.eq(j).any(axis=1)]

        df2 = index_nb['Character'].tolist()
        s = [str(x) for x in df2]
        decoded_message = decoded_message + s

    new_word = ''.join(decoded_message)
    return new_word

额外提示

你的加密逻辑中,未识别字符会被替换成三位的@@@,但解密时是按每两位截取字符串,这会导致后续字符的截取错位,最终解密结果混乱。建议统一加密后的字符长度(比如把未识别字符替换成两位标记##),避免解密时的截取错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 02:55:58