统计 iris.list 各列属性均值,方差,标准差,中位数并打印输出。
时间: 2023-05-22 14:03:30 浏览: 91
可以使用 pandas 库来完成这个任务:
```python
import pandas as pd
iris = pd.read_csv('iris.list', header=None, sep='\s+')
# 均值
means = iris.mean()
print("Mean:")
print(means)
# 方差
variances = iris.var()
print("Variance:")
print(variances)
# 标准差
stds = iris.std()
print("Standard deviation:")
print(stds)
# 中位数
medians = iris.median()
print("Median:")
print(medians)
```
注意,需要先将 iris.list 数据加载进来,并且使用正确的分隔符。
相关问题
读取 iris.data 数据集到内存中,并存储为列表命名为 iris_list,里面的元素可以是自定义对象,也可以是 2 维列表,并输出 iris.data 有多少个样本个数,以及有多少种类别。按照第一列属性(sepal length 花萼长度)将上步操作得到的列表升序排序并打印结果。实现一Python 函数,能够实现对 iris_list 的有放回随机抽样,函数参数为抽样列表 data,抽样个数number ,并测试打印结果。 实现一个 Python 函数,能够实现对 iris_list 的无放回随机抽样,函数参数为抽样列表 data,抽样个数 number ,并测试打印结果。统计 iris 各列属性均值,方差,标准差,中位数并打印输出。
好的,我会尽力回答您的问题。以下是我的回答:
1. 读取 iris.data 数据集到内存中,并存储为列表命名为 iris_list,里面的元素可以是自定义对象,也可以是 2 维列表,并输出 iris.data 有多少个样本个数,以及有多少种类别。
```
import csv
iris_list = []
species_set = set()
with open('iris.data', 'r') as f:
reader = csv.reader(f)
for row in reader:
if len(row) == 5:
iris_list.append(row)
species_set.add(row[4])
print("iris.data 有", len(iris_list), "个样本")
print("iris.data 有", len(species_set), "种类别")
```
2. 按照第一列属性(sepal length 花萼长度)将上步操作得到的列表升序排序并打印结果。
```
sorted_iris_list = sorted(iris_list, key=lambda x: float(x[0]))
for row in sorted_iris_list:
print(row)
```
3. 实现一Python 函数,能够实现对 iris_list 的有放回随机抽样,函数参数为抽样列表 data,抽样个数number ,并测试打印结果。
```
import random
def random_sample_with_replacement(data, number):
return [random.choice(data) for _ in range(number)]
sample = random_sample_with_replacement(iris_list, 5)
for row in sample:
print(row)
```
4. 实现一个 Python 函数,能够实现对 iris_list 的无放回随机抽样,函数参数为抽样列表 data,抽样个数 number ,并测试打印结果。
```
def random_sample_without_replacement(data, number):
return random.sample(data, number)
sample = random_sample_without_replacement(iris_list, 5)
for row in sample:
print(row)
```
5. 统计 iris 各列属性均值,方差,标准差,中位数并打印输出。
```
import numpy as np
iris_array = np.array(iris_list, dtype=float)
mean = np.mean(iris_array, axis=0)
variance = np.var(iris_array, axis=0)
std_deviation = np.std(iris_array, axis=0)
median = np.median(iris_array, axis=0)
print("各列属性均值:", mean)
print("各列属性方差:", variance)
print("各列属性标准差:", std_deviation)
print("各列属性中位数:", median)
```
希望这些回答能够帮助您!
实现一个 Python 函数,能够实现对 iris_list 的无放回随机抽样,函数参数为抽 样列表 data,抽样个数 number ,并测试打印结果。10’ 1 def sampling_without_replacement ( data , number) : 2 # todo • 统计 iris 各列属性均值,方差,标准差,中位数并打印输出。15‘
实现一个 Python 函数,能够实现对 iris_list 的无放回随机抽样,函数参数为抽样列表 data,抽样个数 number ,并测试打印结果。
答:以下是实现代码:
```python
import random
def sampling_without_replacement(data, number):
"""
无放回随机抽样函数
:param data: 抽样列表
:param number: 抽样个数
:return: 抽样结果
"""
if len(data) < number:
return "抽样个数不能大于列表长度!"
else:
return random.sample(data, number)
# 测试
iris_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(sampling_without_replacement(iris_list, 5))
```
输出结果为:
```
[3, 2, 7, 10, 9]
```
说明函数能够实现对 iris_list 的无放回随机抽样,抽样个数为 5。
阅读全文