首页 > 解决方案 > Series 的真值对于 IF 语句是不明确的

问题描述

我有一个 DataFrame,其中第 1 行中的每个值都是数字 1、2 或 3。我正在尝试为列表 1、2 或 3 中的每个项目构建一个新的 DataFrame。我的代码当前正在尝试读取该列第 1 行中每个项目的值并将列附加到正确的 DataFrame(最好作为视图)。

我的 IF 语句发出以下错误,我不知道如何解决它或为什么会得到它:

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

for z in range(len(df2.columns)):
    if df2.loc[1].iloc[[z]] == 1:
        # Append column to df5 and move on
    elif df2.loc[1].iloc[[z]] == 2:
...

这也不适用于:

    if df2.loc[1].iloc[[z]] == '1':

我相当有信心这种方法应该在稍后在我的代码中起作用,我传递了一个类似的论点

for d in range(len(df3)):
    if df3.loc[d,] == df4['Column Name'].loc[a,]:
        #stuff here works
...

标签: pythonpandasdataframe

解决方案


推荐阅读