pandas预处理部分地区数据案例
数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。数据清洗是与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。
数据清洗主要是处理缺失数据、重复数据、错误数据等。
处理缺失值常用方法:
- 删除数据:根据缺失情况,按行删除或者按列删除
- 度量填补缺失值:可以根据数据属性,采用均值、中位数、众数等中心度量值来填补缺失数据
- 预测填补缺失值:可以将缺失属性作为因变量,建立分类或回归模型,对缺失值进行建模填补
案例一:预处理部分地区数据
- 读取北京地区的数据
- 读取天津地区的数据
- 检测file_data_bjinfo中的数据,返回True的表示是重复数据
- 检测file_data_tjinfo中的数据,返回True的表示是重复数据
- 对北京地区的数据,删除重复值
- 检测天津地区的数据是否存在缺失值
- 计算天津地区常住人口的平均数,设置float类型,并保留两位小数,并且以字典映射的方式进行填充
- 对北京地区信息进行异常值检测。并且用箱型图进行表示
- 对天津地区信息进行异常值检测。并且用箱型图进行表示
- 对两地数据进行合并
# 读取北京地区的数据 import pandas as pd with open("北京地区信息.csv") as f: file_data_bjinfo = pd.read_csv(f) # 读取天津地区的数据 with open("天津地区信息.csv") as f: file_data_tjinfo = pd.read_csv(f) # 检测file_data_bjinfo中的数据,返回True的表示是重复数据 dup_bj = file_data_bjinfo.duplicated() print(dup_bj) # 检测file_data_tjinfo中的数据,返回True的表示是重复数据 dup_tj = file_data_tjinfo.duplicated() print(dup_tj) # 对北京地区的数据,删除重复值 drop_dup_bj = file_data_bjinfo.drop_duplicates() print(drop_dup_bj) # 检测天津地区的数据是否存在缺失值 print(pd.isnull(file_data_tjinfo)) # 计算天津地区常住人口的平均数,设置float类型,并保留两位小数 avg = float("{:.2f}".format(file_data_tjinfo['常住人口(万人)'].mean())) # 以字典映射的方式进行填充 values = {'常住人口(万人)':avg} file_data_tjinfo = file_data_tjinfo.fillna(value=values) print(file_data_tjinfo)
# 对北京地区信息进行异常值检测。并且用箱型图进行表示 from matplotlib import pyplot as plt plt.rcParams['font.family']=['STFangsong'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 file_data_bjinfo.boxplot() plt.show()
# 对天津地区信息进行异常值检测。并且用箱型图进行表示 file_data_tjinfo.boxplot() plt.show()
# 对两地数据进行合并 print(pd.concat([file_data_bjinfo,file_data_tjinfo],join='inner',axis=0,ignore_index=True))
数据
北京地区信息.csv
省级单位,地级单位,县级单位,区划类型,行政面积(K㎡),户籍人口(万人),男性,女性,GDP(亿元),常住人口(万人)
北京,北京,西城区,市辖区,51,146.47,72.88,73.59,3602.36,125.9
北京,北京,东城区,市辖区,42,97.41,47.91,49.5,2061.8,87.8
北京,北京,丰台区,市辖区,306,115.33,58.39,56.95,1297.03,225.5
北京,北京,西城区,市辖区,51,146.47,72.88,73.59,3602.36,125.9
北京,北京,朝阳区,市辖区,455,210.91,105.43,105.48,5171.03,385.6
北京,北京,房山区,市辖区,1990,81.28,40.76,40.52,606.61,109.6
北京,北京,丰台区,市辖区,306,115.33,58.39,56.95,1297.03,225.5
北京,北京,石景山区,市辖区,84,38.69,19.87,18.82,482.14,63.4
北京,北京,海淀区,市辖区,431,240.2,120.08,120.12,5395.16,359.3
北京,北京,房山区,市辖区,1990,81.28,40.76,40.52,606.61,109.6
北京,北京,通州区,市辖区,906,74.68,37.08,37.6,674.81,142.8
北京,北京,顺义区,市辖区,1020,62.74,31.12,31.61,1591.6,107.5
北京,北京,昌平区,市辖区,1344,61.14,30.72,30.41,753.39,201
北京,北京,大兴区,市辖区,1036,68.38,34.02,34.36,1796.95,169.4
北京,北京,门头沟区,市辖区,1451,25.12,12.8,12.32,157.86,31.1
北京,北京,怀柔区,市辖区,2123,28.29,14.13,14.16,259.41,39.3
北京,北京,平谷区,市辖区,950,40.2,20.22,19.98,218.31,43.7
北京,北京,密云区,市辖区,2229,43.59,21.77,21.82,251.13,48.3
北京,北京,延庆区,市辖区,1994,28.42,14.32,14.11,122.66,32.7
天津地区信息.csv
省级单位,地级单位,县级单位,区划类型,行政面积(K㎡),户籍人口(万人),男性,女性,GDP(亿元),常住人口(万人)
天津,天津,和平区,市辖区,10,42.32,20.37,21.95,802.62,35.19
天津,天津,河东区,市辖区,39,75.79,38.06,37.73,290.98,97.61
天津,天津,河西区,市辖区,37,83.2,40.83,42.37,819.85,99.25
天津,天津,南开区,市辖区,39,87.28,43.3,43.98,652.09,114.55
天津,天津,河北区,市辖区,27,63.42,31.86,31.56,415.67,89.24
天津,天津,红桥区,市辖区,21,51.66,25.93,25.73,208.16,56.69
天津,天津,东丽区,市辖区,460,37.7,18.83,18.87,927.08,76.04
天津,天津,西青区,市辖区,545,14.85,19.85,20.38,1040.27,85.37
天津,天津,津南区,市辖区,401,44.83,22.35,22.48,810.16,89.41
天津,天津,北辰区,市辖区,478,40.39,20.09,20.3,1058.14,
天津,天津,武清区,市辖区,1570,92.27,45.86,46.41,1151.65,119.96
天津,天津,宝坻区,市辖区,1523,71.1,35.72,35.39,684.07,92.98
天津,天津,滨海新区,市辖区,2270,128.18,66.04,62.14,6654,299.42
天津,天津,宁河区,市辖区,1414,40,20.21,19.79,525.37,49.57
天津,天津,静海区,市辖区,1476,59.79,30.35,29.44,667.83,79.29
天津,天津,蓟州区,市辖区,1593,86.24,43.86,42.38,392.55,91.15
到此这篇关于pandas预处理部分地区数据案例的文章就介绍到这了,更多相关pandas预处理数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python中的os.mkdir和os.makedirs的使用区别及如何查看某个模块中的某些字母开头的属性方法
这篇文章主要介绍了python中的os.mkdir和os.makedirs的使用区别及如何查看某个模块中的某些字母开头的属性方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03Python3 pip3 list 出现 DEPRECATION 警告的解决方法
今天小编就为大家分享一篇Python3 pip3 list 出现 DEPRECATION 警告的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-02-02Python+fuzzywuzzy计算两个字符串之间的相似度
fuzzywuzzy 可以计算两个字符串之间的相似度,它依据 Levenshtein Distance 算法来进行计算,该算法又叫 Edit Distance 算法,感兴趣的小伙伴可以跟随小编一起学习一下2022-09-09
最新评论