y_pred_prob是每行代表一个预测结果它的和不能大于6和小于六否则直接删除这个预测结果
时间: 2024-02-13 10:07:16 浏览: 32
好的,你的意思是将和大于6或小于6的预测结果直接删除掉,对吗?
可以使用 Pandas 库中的 iloc 和 sum 方法实现。假设 y_pred_prob 是一个 DataFrame,每一行代表一个预测结果,每一列代表一个可能出现的点数,可以通过 y_pred_prob.iloc[:, :6].sum(axis=1) 计算每一行前六列的和,然后使用 !=6 条件筛选出和不为6的行,最后使用这个条件对 y_pred_prob 进行索引,使用 drop 方法删除这些行,得到 y_pred_filtered。
具体代码如下:
```
y_pred_filtered = y_pred_prob[(y_pred_prob.iloc[:, :6].sum(axis=1) == 6)]
y_pred_filtered.drop(y_pred_prob[(y_pred_prob.iloc[:, :6].sum(axis=1) != 6)].index, inplace=True)
```
注意,要使用 inplace=True 参数将修改应用到 y_pred_filtered 中。
相关问题
print(y_pred)使预测结果每23个占一行
如果你想让预测结果每23个占一行展示,可以利用Python的切片操作和循环来实现,例如:
```python
for i in range(0, len(y_pred), 23):
print(y_pred[i:i+23])
```
这样就可以让预测结果每23个占一行展示了。
# 过滤掉和值超过6或小于6的预测值 y_pred_filtered = y_pred_prob[(y_pred_prob.iloc[:, :6].sum(axis=1) == 6)]
好的,你的第一个问题是如何过滤掉和值超过6或小于6的预测值?回答如下:
可以使用 Pandas 库中的 iloc 和 sum 方法实现。假设 y_pred_prob 是一个 DataFrame,每一行代表一个预测结果,每一列代表一个可能出现的点数,可以通过 y_pred_prob.iloc[:, :6].sum(axis=1) 计算每一行前六列的和,然后使用 ==6 条件筛选出和为 6 的行,最后使用这个条件对 y_pred_prob 进行索引,得到 y_pred_filtered。
具体代码如下:
```
y_pred_filtered = y_pred_prob[(y_pred_prob.iloc[:, :6].sum(axis=1) == 6)]
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)