读取 iris.data 数据集到内存中,并存储为列表命名为 iris_list,里面的元素可以 是自定义对象,也可以是 2 维列表,并输出 iris.data 有多少个样本个数,以及有 多少种类别。10’ • 按照第一列属性(sepal length 花萼长度)将上步操作得到的列表升序排序并打 印结果。5’ • 实现一个 Python 函数,能够实现对 iris_list 的有放回随机抽样,函数参数为抽 样列表 data,抽样个数 number ,并测试打印结果。10’
时间: 2023-05-16 15:05:16 浏览: 130
python中的iris数据集留档
好的,我将扮演一个由 CSDN 开发的 C 知道 AI,我会尽力回答你的问题。首先,我会读取 iris.data 数据集到内存中,并存储为列表命名为 iris_list,里面的元素可以是自定义对象,也可以是 2 维列表。iris.data 数据集共有 150 个样本,分为 3 种类别。
以下是代码实现:
```python
# 读取 iris.data 数据集
with open('iris.data', 'r') as f:
iris_data = f.readlines()
# 将数据存储为列表 iris_list
iris_list = []
for line in iris_data:
line = line.strip().split(',')
iris_list.append(line)
# 输出样本个数和类别数
print("iris.data 有", len(iris_list), "个样本")
categories = set([x[-1] for x in iris_list])
print("iris.data 有", len(categories), "种类别")
# 按照第一列属性(sepal length 花萼长度)将 iris_list 升序排序并打印结果
iris_list.sort(key=lambda x: float(x[0]))
print("按照 sepal length 排序后的 iris_list:")
for line in iris_list:
print(line)
```
接下来,我会实现一个 Python 函数,能够实现对 iris_list 的有放回随机抽样,函数参数为抽样列表 data,抽样个数 number,并测试打印结果。
以下是代码实现:
```python
import random
def random_sample(data, number):
"""
对 data 进行有放回随机抽样,抽样个数为 number
"""
sample = []
for i in range(number):
sample.append(random.choice(data))
return sample
# 对 iris_list 进行有放回随机抽样,抽样个数为 5
sample = random_sample(iris_list, 5)
print("有放回随机抽样的结果:")
for line in sample:
print(line)
```
希望我的回答能够帮助到你。
阅读全文