# -*- coding: UTF-8 -*- import pandas as pd # 读取Excel文件 df = pd.read_excel('E:/桌面/预测脆弱性/20230523/基础数据/降雨小于0-分类.xlsx') # 定义筛选条件 condition1 = df['筛选事件'] = 0 condition2 = df['易结冰'] = 1 condition3 = df['管制'] = 1 df.loc[~condition1 & ~condition2 & ~condition3, "分类"] = "事故" df.loc[condition1 & condition2 & ~condition3, "分类"] = "易结冰" df.loc[condition1 & ~condition2 & condition3, "分类"] = "管制" df.loc[~condition1 & condition2 & ~condition3, "分类"] = "事故-易结冰" df.loc[~condition1 & ~condition2 & condition3, "分类"] = "事故-管制" df.loc[condition1 & condition2 & condition3, "分类"] = "易结冰-管制" df.loc[~condition1 & condition2 & condition3, "分类"] = "事故-易结冰-管制" df.loc[condition1 & ~condition2 & ~condition3, "分类"] = "无分类" df.to_excel("E:/桌面/预测脆弱性/20230523/基础数据/降雨小于0-分类结果.xlsx", index=False)为什么结果中易结冰、管制和筛选事故的字段都变成1
时间: 2024-02-03 13:14:48 浏览: 120
Python- 快速合并多个Excel文件
5星 · 资源好评率100%
在你的代码中,你定义了三个变量condition1、condition2和condition3,它们分别代表了三个筛选条件。然后你使用这三个条件来筛选数据,并将分类结果保存在分类列中。
但是,在你定义这些条件时,你使用了赋值操作符“=”而不是相等比较操作符“==”。这导致将这些条件分别赋值为0、1,而不是判断它们是否等于0或1。
解决方法是将条件定义改为相等比较操作符“==”,如下所示:
```
condition1 = df['筛选事件'] == 0
condition2 = df['易结冰'] == 1
condition3 = df['管制'] == 1
```
这样就可以正确地使用这些条件进行筛选了。
阅读全文