没有合适的资源?快使用搜索试试~ 我知道了~
首页陈俊辉数据分析实例 - Jupyter Notebook.pdf
陈俊辉数据分析实例 - Jupyter Notebook.pdf
1星 需积分: 46 85 下载量 66 浏览量
更新于2023-03-03
12
收藏 444KB PDF 举报
数据分析实例--美国人收入的分析(样本个数32000) 1、导入数据,完成分列 2、处理空值和异常数据,完成数据汇总 3、年龄段与收入情况关系的柱状图 4、学历与收入情况关系的柱状图 5、受教育年限与收入情况关系的折线图 6、人种与收入情况关系的饼状图 7、性别与收入情况关系的饼状图 8、初试机器学习,建立线性逻辑回归预测模型,采用新数据测试模型
资源详情
资源推荐
In[]:
In[2]:
所有权
学历
婚姻
职业
家庭成员
人种
性别
国家
收入
数据分析实例--美国人收入的分析(样本个数32000)
1、导入数据,完成分列
2、处理空值和异常数据,完成数据汇总
3、年龄段与收入情况关系的柱状图
4、学历与收入情况关系的柱状图
5、受教育年限与收入情况关系的折线图
6、人种与收入情况关系的饼状图
7、性别与收入情况关系的饼状图
8、初试机器学习,建立线性逻辑回归预测模型,采用新数据测试模型
import pandas as pd
import os
os.getcwd()
df=pd.read_csv('adult2.txt',sep=',',header=None,names=['年龄','所有权','删除1','学历','受教育年限','婚姻'
'家庭成员','人种','性别','删除2','删除3','删除5'
df2=df.drop(['删除1','删除2','删除3','删除5'],axis=1).copy()
df2.columns.to_list()
for i in df2.columns.to_list():
if i=='年龄' or i=='受教育年限':
continue
print(i)
df2[i]=df2[i].str.strip()
In[3]:
In[4]:
In[5]:
In[6]:
In[7]:
In[8]:
年
龄
所有权 学历
受
教
育
年
限
婚姻 职业 家庭成员 人种 性别 国家 收入
0 39
State
gov
Bachelors 13
Never
married
Adm
clerical
Notin
family
White Male
United
States
<=50K
1 50
Self
emp
notinc
Bachelors 13
Married
civ
spouse
Exec
managerial
Husband White Male
United
States
<=50K
2 38 Private HSgrad 9 Divorced
Handlers
cleaners
Notin
family
White Male
United
States
<=50K
3 53 Private 11th 7
Married
civ
spouse
Handlers
cleaners
Husband Black Male
United
States
<=50K
4 28 Private Bachelors 13
Married
civ
spouse
Prof
specialty
Wife Black Female Cuba <=50K
df2.loc[df2['所有权']=='?',:]
for i in df2.columns.to_list():
if i=='年龄' or i=='受教育年限':
continue
df2.loc[:,i]=df2[i].str.replace('?','Others')
df2
#年龄与收入情况的关系
#将年龄进行分段处理
area=[-1,20,30,40,50,60,70,80,90,101]
labels=['0-20','20-30','30-40','40-50','50-60','60-70','70-80','80-90','90-100']
df2['年龄段']=pd.cut(df2['年龄'],area,right=False,labels=labels)
#将‘年龄段列’移动到‘年龄列’后面
new_columns=df2.columns.to_list()
new_columns.remove('年龄段')
new_columns.insert(new_columns.index('年龄')+1,'年龄段')
df2=df2.reindex(columns=new_columns)
#年龄段与收入关系的柱状图
In[9]:
Out[9]:
收入 <=50K >50K
年龄段
020 1655 2
2030 7545 509
3040 6304 2309
4050 4513 2662
5060 2711 1707
6070 1476 539
7080 411 97
8090 70 8
90100 35 8
import matplotlib.pyplot as plt
df3=df2.groupby(['年龄段','收入']).count()
df4=df3['年龄'].unstack()
df4
剩余12页未读,继续阅读
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功