快捷搜索:  汽车  科技

python数据去重方法(python实现数据清洗重复值)

python数据去重方法(python实现数据清洗重复值)43import numpy as np2import pandas as pd

实现功能:

python实现数据清洗,对重复记录、缺失值、异常值进行检测,并对其进行处理。

实现代码:

1

import numpy as np

2

import pandas as pd

3

4

def Read_data(file):

5

dt = pd.read_csv(file)

6

dt.columns = ['age' 'sex' 'chest_pain_type' 'resting_blood_pressure' 'cholesterol'

7

'fasting_blood_sugar' 'rest_ecg' 'max_heart_rate_achieved' 'exercise_induced_angina'

8

'st_depression' 'st_slope' 'num_major_vessels' 'thalassemia' 'target']

9

data =dt

10

pd.set_option('display.max_rows' None)

11

pd.set_option('display.max_columns' None)

12

pd.set_option('display.width' None)

13

pd.set_option('display.unicode.ambiguous_as_wide' True)

14

pd.set_option('display.unicode.east_asian_width' True)

15

print(data.head())

16

return data

17

18

def data_clean(data):

19

# 重复值处理

20

print('存在' if any(data.duplicated()) else '不存在' '重复观测值')

21

data.drop_duplicates()

22

23

# 缺失值处理

24

print(data.isnull())

25

print(data.isnull().sum()) #检测每列中缺失值的数量

26

print(data.isnull().T.sum()) #检测每行缺失值的数量

27

print('不存在' if any(data.isnull()) else '存在' '缺失值')

28

data.dropna() # 直接删除记录

29

data.fillna(method='ffill') # 前向填充

30

data.fillna(method='bfill') # 后向填充

31

data.fillna(value=2) # 值填充

32

data.fillna(value={'resting_blood_pressure': data['resting_blood_pressure'].mean()}) # 统计值填充

33

34

# 异常值处理

35

data1 = data['resting_blood_pressure']

36

# 标准差监测

37

xmean = data1.mean()

38

xstd = data1.std()

39

print('存在' if any(data1 > xmean 2 * xstd) else '不存在' '上限异常值')

40

print('存在' if any(data1 < xmean - 2 * xstd) else '不存在' '下限异常值')

41

# 箱线图监测

42

q1 = data1.quantile(0.25)

43

q3 = data1.quantile(0.75)

44

up = q3 1.5 * (q3 - q1)

45

dw = q1 - 1.5 * (q3 - q1)

46

print('存在' if any(data1 > up) else '不存在' '上限异常值')

47

print('存在' if any(data1 < dw) else '不存在' '下限异常值')

48

data1[data1 > up] = data1[data1 < up].max()

49

data1[data1 < dw] = data1[data1 > dw].min()

50

# print(data1)

51

52

if __name__=="__main__":

53

data1=Read_data("F:\数据杂坛\\0504\heartdisease\Heart-Disease-Data-Set-main\\UCI Heart Disease Dataset.csv")

54

data_clean(data1)

实现效果:

python数据去重方法(python实现数据清洗重复值)(1)

python数据去重方法(python实现数据清洗重复值)(2)

python数据去重方法(python实现数据清洗重复值)(3)

喜欢记得点赞,在看,收藏,

关注V订阅号:数据杂坛,获取完整代码和效果,将持续更新!

猜您喜欢: