使用numpy统计 iris 各列属性均值,方差,标准差,中位数并打印输出。
时间: 2023-05-20 18:05:26 浏览: 219
可以使用以下代码来计算 iris 数据集的各列属性均值、方差、标准差和中位数:
```python
import numpy as np
from sklearn.datasets import load_iris
iris = load_iris()
data = iris.data
# 计算各列属性的均值、方差、标准差和中位数
mean = np.mean(data, axis=0)
variance = np.var(data, axis=0)
std_deviation = np.std(data, axis=0)
median = np.median(data, axis=0)
# 打印输出结果
print("各列属性的均值为:", mean)
print("各列属性的方差为:", variance)
print("各列属性的标准差为:", std_deviation)
print("各列属性的中位数为:", median)
```
输出结果如下:
```
各列属性的均值为: [5.84333333 3.05733333 3.758 1.19933333]
各列属性的方差为: [0.68112222 0.18871289 3.09550267 0.57713289]
各列属性的标准差为: [0.82530129 0.43441097 1.75852918 0.76061262]
各列属性的中位数为: [5.8 3. 4.35 1.3 ]
```
相关问题
统计 iris 各列属性均值,方差,标准差,中位数并打印输出
可以使用Python中的pandas和numpy库来完成这个任务。代码如下:
```
import pandas as pd
import numpy as np
# 读取iris数据集
iris = pd.read_csv('iris.csv')
# 统计各列属性的均值、方差、标准差和中位数
mean = iris.mean()
variance = iris.var()
std = iris.std()
median = iris.median()
# 打印输出结果
print("平均值:")
print(mean)
print("\n方差:")
print(variance)
print("\n标准差:")
print(std)
print("\n中位数:")
print(median)
```
然后运行代码即可得到各个属性的统计结果。
读取 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)
```
希望这些回答能够帮助您!
阅读全文