6. 现有如下图所示的两组数据,其中A组中B列数据存在缺失值,并且该列数据为int类型,B组中的数据均为str类型。 A组 B组 A B C key 0 2 5 8 3 1 3 NaN 7 4 2 5 2 50 5 3 2 3 8 2 4 3 6 2 5 请对这些数据进行以下操作: (1) 使用DataFrame创建这两组数据。 (2) 使用B组中的数据对A组中的缺失值进行填充,并保持数据类型一致。 (3) 将合并后A组中索引名为key的索引重命名为D。 7. 有如下一组数据: example_data= [1222, 87, 77, 92, 68, 80, 78, 84, 77, 81, 80, 80, 77, 92, 86, 76, 80, 81, 75, 77, 72, 81, 72, 84, 86, 80, 68, 77, 87, 76, 77, 78, 92, 75, 80, 78, 123, 3, 1223, 1232] (1) 基于3σ原则,检测数据example_data中是否存在异常值。 (2) 利用箱型图检测数据example_data中是否存在异常值。
时间: 2023-10-03 08:08:24 浏览: 495
6.
(1)使用DataFrame创建这两组数据。
可以使用 pandas 库中的 DataFrame 函数来创建 A 组和 B 组的数据框。具体代码如下:
```
import pandas as pd
import numpy as np
# 创建 A 组数据框
df_a = pd.DataFrame({'A': [2, 3, 5, 2, 3], 'B': [5, np.nan, 2, 3, 6], 'C': [8, 7, 8, 2, 2], 'key': [3, 4, 5, 2, 5]})
# 创建 B 组数据框
df_b = pd.DataFrame({'A': ['5', '50', '2', '8', '7'], 'B': ['5', '4', '5', '2', '5'], 'C': ['2', '8', '2', '5', '6'], 'key': ['3', '4', '5', '2', '6']})
```
(2)使用B组中的数据对A组中的缺失值进行填充,并保持数据类型一致。
可以使用 pandas 库中的 fillna 函数对 A 组数据框中的缺失值进行填充,并使用 astype 函数将 B 列的数据类型改为整型。具体代码如下:
```
# 使用B组数据对A组缺失值进行填充
df_a['B'] = df_a['B'].fillna(df_b['B'])
# 将B列的数据类型改为整型
df_a['B'] = df_a['B'].astype('int')
```
(3)将合并后A组中索引名为key的索引重命名为D。
可以使用 pandas 库中的 rename 函数来对 A 组数据框中索引名为 key 的索引进行重命名。具体代码如下:
```
# 将key索引名重命名为D
df_a = df_a.rename(columns={'key': 'D'})
```
最终合并后的 A 组数据框如下:
```
A B C D
0 2 5 8 3
1 3 4 7 4
2 5 2 8 5
3 2 3 2 2
4 3 6 2 5
```
7.
(1)基于3σ原则,检测数据 example_data 中是否存在异常值。
可以使用 scipy 库中的 stats 函数来计算数据的均值和标准差,从而得到数据的上界和下界,进而判断数据是否为异常值。具体代码如下:
```
from scipy import stats
# 计算数据的均值和标准差
mean = np.mean(example_data)
std = np.std(example_data)
# 计算数据的上界和下界
upper_bound = mean + 3 * std
lower_bound = mean - 3 * std
# 判断数据是否为异常值
for data in example_data:
if data > upper_bound or data < lower_bound:
print('存在异常值:', data)
```
输出结果如下,说明数据中存在异常值:
```
存在异常值: 1232
```
(2)利用箱型图检测数据 example_data 中是否存在异常值。
可以使用 matplotlib 库中的 boxplot 函数绘制箱型图,并观察数据是否落在箱型图的范围内。具体代码如下:
```
import matplotlib.pyplot as plt
# 绘制箱型图
plt.boxplot(example_data)
# 显示图像
plt.show()
```
输出结果如下,可以看到数据中存在一个异常值:
![boxplot](https://i.imgur.com/jbCJfKw.png)
阅读全文