``系列的真实价值是模棱两可的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。'

时间:2018-07-27 08:42:10

标签: python pandas numpy

我正在Python上使用简单的函数:

def liste_bis(data):

Country_Name = []
Platform_Category = []
Platform = []
Country_Acronym = []

for m,n in enumerate (np.arange(np.shape(data)[0])):

    if (data["domain1"][m]=='afe'):

        Country_Name.append('France')
        Platform_Category.append('App')
        Platform.append('BDDF-HB App')
        Country_Acronym.append('FR')


    elif (data["domain1"][m]=='afer'):

        Country_Name.append('France')
        Platform_Category.append('Site')
        Platform.append('BDDF-HB Site')
        Country_Acronym.append('FR')


    elif (data["domain1"][m]=='afert'):

        Country_Name.append('France')
        Platform_Category.append('App')
        Platform.append('BDDF-BNP App')
        Country_Acronym.append('FR')


    elif (data["domain1"][m]=='aferty'):

        Country_Name.append('France')
        Platform_Category.append('Site')
        Platform.append('BDDF-BNP Site')
        Country_Acronym.append('FR')

    elif (data["domain1"][m]=='afertyu'):

        Country_Name.append('Luxembourg')
        Platform_Category.append('App')
        Platform.append('BGL-BNP App')
        Country_Acronym.append('LU')

dictionnaire = {"Country_Name":Country_Name,"Platform_Category":Platform_Category,"Platform":Platform,"Country_Acronym":Country_Acronym}

return(dictionnaire)

但是我有一些麻烦。 当我执行programm时,它返回我:

'The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().'

但是当我将此功能与只有1行的DataFrame一起使用时,它可以正常工作。 但是,当我有多于1行时,它行不通...

让我们展示一个我使用的数据框示例: dataframe_example

能帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

为什么它仅对一个元素的结果起作用:当您有一个多元素系列时,其“真值”可能是一系列真值,或者可能是“都是 all < / em>这些值True”,等等。对于一行,没有这种歧义。因此,选择错误消息推荐的显式方法之一(取决于您的实际状况),然后继续。