【问题标题】:Turning a List to a list of list to avoid an Attribute error将列表转换为列表列表以避免属性错误
【发布时间】:2022-10-13 21:42:54
【问题描述】:

我有一个列表,我试图通过一个函数运行该函数,该函数检查从名为有效的 JSON 中查找无效值,我得到一个属性错误列表对象没有属性适用。

col_list=[col for col in df]
key=list(valid.keys())
for k in key:
    if k not in col_list:
        key.remove(k)

print(key)
#Key values ['industry', 'System_Type__c', 'AccountType', 'country', 'state']

mask = key.apply(lambda c: c.isin(valid[c.name]))
key.mask(mask|key.eq(' ')).stack()
for err_i, (r, v) in enumerate(key.mask(mask|key.eq(' ')).stack().iteritems()):
    errors[filename][err_i] = {"row": r[0],
                               "column": r[1],
                               "message": v + " is invalid check column " + r[1] + ' and replace with a standard value'}

我发现如果我列出一个列表并调用类似的东西而不是 key

df1=[['industry', 'System_Type__c', 'AccountType', 'country', 'state']]

这有效,但一旦它只是一个常规列表,它就不会。如何使列表调用成为列表列表,以便变量键能够使用应用?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    将列表转换为列表列表很容易,只需添加

    key = [key]
    

    如果您不想将列表转换为列表列表,也可以尝试使用 map 而不是 apply

    【讨论】:

    • 如果我想使用 map 会是什么样子?,即使我尝试使用 ``` key=[key] ``` 我仍然得到一个属性错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2021-11-02
    相关资源
    最近更新 更多