#统计概率各自出现的次数 df=pd.DataFrame(data_info01) counts=df['PRED_PROB'].value_counts() counts_df=counts.to_frame().reset_index().rename(columns={'index':'概率','数量':'count'}) print(counts_df.head(10))优化代码:使之成为统计1-0.9概率,0.9-0.8概率等之间的数量
时间: 2023-09-11 17:07:04 浏览: 46
要优化代码以统计不同概率区间的数量,可以使用`pd.cut()`函数来将概率分箱,并使用`groupby()`函数进行分组和计数。以下是优化后的代码示例:
```python
import pandas as pd
# 创建一个示例的DataFrame
df = pd.DataFrame(data_info01)
# 将概率值分箱成不同区间
bins = [1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0]
labels = ['1-0.9', '0.9-0.8', '0.8-0.7', '0.7-0.6', '0.6-0.5',
'0.5-0.4', '0.4-0.3', '0.3-0.2', '0.2-0.1', '0.1-0']
df['概率区间'] = pd.cut(df['PRED_PROB'], bins=bins, labels=labels, right=False)
# 统计每个概率区间的数量
counts = df['概率区间'].value_counts().sort_index().reset_index()
counts.columns = ['概率区间', '数量']
print(counts.head(10))
```
这段代码会将概率值分为10个区间,并统计每个区间的数量。输出结果会给出每个概率区间及其对应的数量。注意,这里使用了`pd.cut()`函数将概率值分箱,然后使用`value_counts()`函数统计每个区间的数量,并最后使用`sort_index()`函数对结果按照概率区间排序。