熊猫:检查df.loc是否有多个条件会返回错误

时间:2018-09-18 15:01:50

标签: python pandas

我的python / pandas项目中有以下代码:

   <div style="width: 435px;margin-bottom: 20px;height: 29px;">
            <label style="line-height: 30px;float:left" for="usermail">User ID:</label>
            <input style="float:right;font-size: 9pt;width: 350px;margin-right: 0px;" type="text" name="userID" required>
        </div>
        <div style="width: 435px;margin-bottom: 10px;height: 29px;">
            <label style="line-height: 30px;float:left" for="password">Password:</label>
            <input style="float:right;font-size: 9pt;width: 350px;margin-right: 0px;" type="password" name="password" required>
        </div>

假设df的“ Category_A”和“ Sub_Category”为“ AAA”,则效果很好。但是,根据导入的数据,可能会丢失其中一个或多个。这会引发KeyError。

现在,我遇到了一个笨拙的解决方法,将值手动设置为零,但是这要求我事先知道哪些数据集将导致问题,从长远来看,这不是一个好的解决方案。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用

df.loc[(df['Category'] == 'Category_A') & (df['Sub_Category'] == 'AAA')&(df['A'] == 'Total'), 'AAA'] = df['Quantity']