前言
大家早好、午好、晚好吖~
流程
- 前言
- 1.原始数据
- 2.数据清洗
- 3.数据可视化
- 4.得出结论
- 尾语
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 直接显示图片
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
1.原始数据
guazi = pd.read_csv(r'../数据/guazi.csv')
guazi.head(20)
2.数据清洗
# 删除数据
# guazi.drop([4,9],inplace=True)
guazi = guazi[guazi['leixing'] != 'leixing'] # 清除异常值
# 删除重复值
guazi.drop_duplicates(inplace=True)
guazi.head(10)
guazi.reset_index(drop=True,inplace=True)
guazi
3.数据可视化
## 3.1数据准备
## 3.2画图
# 二手车市场品牌占比
guazi['leixing'].isnull().sum()
guazi_pinpai = guazi['leixing'].apply(lambda x:x.split(' ')[0])
guazi_pinpai
import re
a =[]
for i in guazi_pinpai: #提取品牌
if i.find("Smart") == -1 and i.find('Jeep') == -1 and i.find('MINI') and i.find('MG') and i.find('WEY'):
a.append(re.search(r'^[\u4E00-\u9FA5]{2,4}',i).group())
elif i.find('Jeep') == True:
a.append('Jeep')
elif i.find('MINI') == True:
a.append('MINI')
elif i.find('MG') == True:
a.append('MG')
elif i.find('WEY') == True:
a.append('WEY')
else:
a.append('Smart')
guazi['pinpai'] = a
pinpai = guazi['pinpai'].value_counts()
z = guazi.groupby(by='pinpai')[['pinpai']].count()
z
z1 = z[z.values >= 10]
z1
plt.figure(figsize=(15,5))
plt.axes(aspect='equal') # 保证饼图是圆 不是默认的椭圆
plt.pie(x=z1.values, # 数据
labels=z1.index, # 标签名称
autopct='%.2f%%', # 设置百分比格式 保留一位小数
radius = 5, # 设置饼图半径
)
plt.title('失信人员组成')
plt.show()
更细致的你们自己做结论去~
尾语好了,我的这篇文章写到这里就结束啦!
有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง
喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!