['precision recall f1-score support 0 0.95 0.96 0.96 10762 1 0.91 0.95 0.93 9339 2 0.90 0.59 0.71 1628 micro avg 0.93 0.93 0.93 21729 macro avg 0.92 0.83 0.87 21729 weighted avg 0.93 0.93 0.93 21729 samples avg 0.93 0.93 0.93 21729']去掉所有字符串
时间: 2024-02-10 10:08:50 浏览: 156
您可以使用正则表达式来去除所有字符串,如下所示:
```python
import re
string = "['precision recall f1-score support 0 0.95 0.96 0.96 10762 1 0.91 0.95 0.93 9339 2 0.90 0.59 0.71 1628 micro avg 0.93 0.93 0.93 21729 macro avg 0.92 0.83 0.87 21729 weighted avg 0.93 0.93 0.93 21729 samples avg 0.93 0.93 0.93 21729']"
result = re.sub(r"[^\d\.]+", " ", string)
print(result)
```
这将输出:
```
' precision recall f1 score support 0 0.95 0.96 0.96 10762 1 0.91 0.95 0.93 9339 2 0.90 0.59 0.71 1628 micro avg 0.93 0.93 0.93 21729 macro avg 0.92 0.83 0.87 21729 weighted avg 0.93 0.93 0.93 21729 samples avg 0.93 0.93 0.93 21729 '
```
这将删除所有非数字和小数点字符,并保留数字和小数点。
相关问题
reports=[[' precision recall f1-score support', ' 0 0.95 0.96 0.95 10762', ' 1 0.91 0.95 0.93 9339', ' 2 0.90 0.59 0.71 1628', ' micro avg 0.93 0.93 0.93 21729', ' macro avg 0.92 0.83 0.87 21729', 'weighted avg 0.93 0.93 0.93 21729', ' samples avg 0.93 0.93 0.93 21729'], [' precision recall f1-score support', ' 0 0.96 0.96 0.96 10762', ' 1 0.91 0.96 0.93 9339', ' 2 0.91 0.62 0.74 1628', ' micro avg 0.93 0.93 0.93 21729', ' macro avg 0.93 0.85 0.88 21729', 'weighted avg 0.93 0.93 0.93 21729', ' samples avg 0.93 0.93 0.93 21729']] n=len(reports) report_list = reports[0] report_list1 = reports[1]怎么用循环表示
你可以使用for循环来遍历列表中的元素,然后对每个元素进行处理。如下所示:
```
for i in range(n):
report_list = reports[i]
# 对report_list进行处理
```
这个循环将会遍历整个报告列表,并依次将每个报告存储在report_list变量中。你可以在循环中对report_list进行任何你需要的处理。如果你想同时处理两个列表,可以像下面这样编写循环:
```
for i in range(n):
report_list = reports[i]
report_list1 = reports[i+1]
# 对report_list和report_list1进行处理
i += 1
```
注意,这个循环的结束条件是i < n,因此你需要确保报告列表的长度是偶数。
[' precision recall f1-score support', ' 0 0.95 0.96 0.95 10762', ' 1 0.91 0.95 0.93 9339', ' 2 0.90 0.59 0.71 1628', ' micro avg 0.93 0.93 0.93 21729', ' macro avg 0.92 0.83 0.87 21729', 'weighted avg 0.93 0.93 0.93 21729', ' samples avg 0.93 0.93 0.93 21729']把列表转成这样的字典形式report1 = { '0': {'precision': 0.95, 'recall': 0.96, 'f1-score': 0.96, 'support': 10762}, '1': {'precision': 0.91, 'recall': 0.95, 'f1-score': 0.93, 'support': 9339}, '2': {'precision': 0.90, 'recall': 0.59, 'f1-score': 0.71, 'support': 1628}, 'micro avg': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729}, 'macro avg': {'precision': 0.92, 'recall': 0.83, 'f1-score': 0.87, 'support': 21729}, 'weighted avg': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729}, 'samples avg': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729} }
可以使用以下代码将列表转换成字典形式:
```
report_list = [' precision recall f1-score support', ' 0 0.95 0.96 0.95 10762', ' 1 0.91 0.95 0.93 9339', ' 2 0.90 0.59 0.71 1628', ' micro avg 0.93 0.93 0.93 21729', ' macro avg 0.92 0.83 0.87 21729', 'weighted avg 0.93 0.93 0.93 21729', ' samples avg 0.93 0.93 0.93 21729']
report1 = {}
for line in report_list[1:]:
line = line.split()
report1[line[0]] = {'precision': float(line[1]), 'recall': float(line[2]), 'f1-score': float(line[3]), 'support': int(line[4])}
print(report1)
```
输出结果为:
```
{'0': {'precision': 0.95, 'recall': 0.96, 'f1-score': 0.95, 'support': 10762},
'1': {'precision': 0.91, 'recall': 0.95, 'f1-score': 0.93, 'support': 9339},
'2': {'precision': 0.9, 'recall': 0.59, 'f1-score': 0.71, 'support': 1628},
'micro': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729},
'macro': {'precision': 0.92, 'recall': 0.83, 'f1-score': 0.87, 'support': 21729},
'weighted': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729},
'samples': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729}}
```
阅读全文