pandas数据分析实战1

import time
import math
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sns

time_tabel = pd.read_csv("data/loan_time_train.txt",header=None,names=['用户标识','放款时间'])
time_tabel['放款时间']=time_tabel['放款时间']/86400
user_tabel = pd.read_csv("data/user_info_train.txt",header=None,
                    names=['用户标识','用户性别','用户职业','用户教育程度',
                           '用户婚姻状态', '用户户口类型'])
card_tabel = pd.read_csv("data/bill_detail_train.txt",header=None,
                    names=['用户标识','时间','银行标识','上期账单金额','上期还款金额','信用卡额度',
                           '本期账单余额','本期账单最低还款额','消费笔数','本期账单金额','调整金额',
                          '循环利息','可用余额','预借现金额度','还款状态'])
card_tabel['时间'] = card_tabel['时间']/86400
account = pd.merge(card_tabel,time_tabel,how='inner', on = "用户标识")
traintabel = pd.read_csv("data/overdue_train.txt",header=None,
                    names=['用户标识','标签'])
traintabel = pd.merge(traintabel,user_tabel,how='inner',on = "用户标识")
traintabel = pd.merge(traintabel,time_tabel,how='inner',on = "用户标识")
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
p = sns.color_palette()
sns.set_style("darkgrid",{"font.sans-serif":['simhei', 'Arial']})
browse = pd.read_csv("data/browse_history_train.txt",header=None,
                    names=['用户标识','浏览时间','浏览行为数据','浏览子行为编号'])
browse['浏览时间'] = browse['浏览时间']//86400
bank = pd.read_csv("data/bank_detail_train.txt").rename(index=str,
                                                         columns={"uid": "用户标识","timespan": "流水时间",
                                                                  "type":"交易类型","amount":"交易金额","markup":"工资收入标记"})
bank['流水时间'] = bank['流水时间']//86400
sex = traintabel.groupby('用户性别',as_index=False)['标签'].agg({'逾期' : 'sum','总数' : 'count'})
sex['性别逾期比'] = sex['逾期']/sex['总数']

career = traintabel.groupby('用户职业',as_index=False)['标签'].agg({'逾期' : 'sum','总数' : 'count'})
career['职业逾期比'] = career['逾期']/career['总数']

marray = traintabel.groupby('用户婚姻状态',as_index=False)['标签'].agg({'逾期' : 'sum','总数' : 'count'})
marray['婚姻逾期比'] = marray['逾期']/marray['总数']

education = traintabel.groupby('用户教育程度',as_index=False)['标签'].agg({'逾期' : 'sum','总数' : 'count'})
education['教育程度逾期比'] = education['逾期']/education['总数']

household = traintabel.groupby('用户户口类型',as_index=False)['标签'].agg({'逾期' : 'sum','总数' : 'count'})
household['户口类型逾期比'] = household['逾期']/household['总数']

fig = plt.figure(figsize=(20, 20))

ax1 = fig.add_subplot(3, 2, 1)
ax1=sns.barplot(career.index, career['逾期']/career['总数'], alpha=0.8, color=p[0], label='train')
ax1.legend()
#ax1.set_title(u'职业分布情况')
ax1.set_xlabel(u'用户职业')
ax1.set_ylabel(u'逾期用户比例')

ax2 = fig.add_subplot(3, 2, 2)
ax2=sns.barplot(sex.index, sex['逾期']/sex['总数'], alpha=0.8, color=p[1], label='train')
ax2.legend()
#ax2.set_title(u'性别分布情况')
ax2.set_xlabel(u'用户性别')
ax2.set_ylabel(u'逾期用户比例')

ax3 = fig.add_subplot(3, 2, 3)
ax3=sns.barplot(education.index, education['逾期']/education['总数'], alpha=0.8, color=p[2], label='train')
ax3.legend()
#ax3.set_title(u'教育程度分布')
ax3.set_xlabel(u'教育程度')
ax3.set_ylabel(u'逾期用户比例')

ax4 = fig.add_subplot(3, 2, 4)
ax4=sns.barplot(marray.index, marray['逾期']/marray['总数'], alpha=0.8, color=p[3], label='train')
ax4.legend()
#ax4.set_title(u'用户婚姻状态')
ax4.set_xlabel(u'用户婚姻状态')
ax4.set_ylabel(u'逾期用户比例')

ax5 = fig.add_subplot(3, 2, 5)
ax5=sns.barplot(household.index, household['逾期']/household['总数'], alpha=0.8, color=p[4], label='train')
ax5.legend()
#ax5.set_title(u'用户户口类型')
ax5.set_xlabel(u'用户户口类型')
ax5.set_ylabel(u'逾期用户比例')

plt.show()
plt.waitforbuttonpress(0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas是一个开源的数据分析库,提供了高效的数据结构和数据分析工具。它是基于NumPy构建的,可以处理各种类型的数据,包括结构化的数据和时间序列数据。 在进行Pandas数据分析实战时,你可以按照以下步骤进行: 1. 导入Pandas库:在开始之前,需要导入Pandas库。你可以使用以下代码导入Pandas: ```python import pandas as pd ``` 2. 读取数据:使用Pandas的`read_csv()`函数读取数据文件。例如,如果你的数据文件是一个CSV文件,你可以使用以下代码读取: ```python data = pd.read_csv('data.csv') ``` 3. 数据探索:使用Pandas的各种函数和方法来探索数据。你可以使用以下代码查看数据的前几行: ```python data.head() ``` 4. 数据清洗:清洗数据数据分析的重要步骤之一。你可以使用Pandas的函数和方法来处理缺失值、重复值等。例如,使用以下代码删除重复值: ```python data = data.drop_duplicates() ``` 5. 数据分析:使用Pandas的函数和方法进行数据分析。你可以使用各种统计函数、聚合函数和可视化工具来分析数据。例如,使用以下代码计算某一列的平均值: ```python mean_value = data['column_name'].mean() ``` 6. 数据可视化:使用Pandas和其他可视化库(如Matplotlib和Seaborn)来可视化数据。你可以使用各种图表和图形来展示数据的特征和趋势。例如,使用以下代码绘制柱状图: ```python import matplotlib.pyplot as plt data['column_name'].plot(kind='bar') plt.show() ``` 这些是进行Pandas数据分析实战的基本步骤。当然,具体的分析任务可能会有所不同,你可以根据自己的需求和数据特点进行相应的操作和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值