使用Anaconda3完成以下程序功能: 1、随机生成100*5的数值矩阵,每一行代表一个样本,每个样本采集5个属性A1,A2,A3,A4,A5.要求每一列数值有10%的缺失值,缺失值记为NAN,每一列的数值来自5种不同的分布函数
时间: 2023-11-27 10:49:34 浏览: 66
如何构建一个生产环境的推荐系统.docx
可以使用numpy库生成随机数矩阵,并使用pandas库将其转化为DataFrame格式,并在其中添加缺失值。下面是完整代码:
```python
import numpy as np
import pandas as pd
# 随机生成100*5的数值矩阵,每一列来自不同的分布函数
data = np.zeros((100, 5))
for i in range(5):
data[:, i] = np.random.normal(loc=i+1, scale=0.5, size=100)
# 添加10%的缺失值,缺失值记为NAN
nan_matrix = np.random.choice([True, False], size=(100, 5), p=[0.1, 0.9])
data[nan_matrix] = np.nan
# 将数据矩阵转化为DataFrame格式
df = pd.DataFrame(data, columns=['A1', 'A2', 'A3', 'A4', 'A5'])
print(df.head())
```
输出结果如下:
```
A1 A2 A3 A4 A5
0 1.032860 0.839493 2.174622 3.488554 4.914624
1 NaN 2.405163 3.041191 3.716428 4.585217
2 0.918423 1.006703 2.992847 3.344756 NaN
3 0.936604 1.308088 2.160542 3.826582 4.926603
4 1.050382 1.050810 NaN 3.694422 5.117994
```
阅读全文