Tic商业评论

关注微信公众号【站长自定义模块】,定时推送前沿、专业、深度的商业资讯。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

数据分析例子

0
回复
6449
查看
[复制链接]
已绑定手机

49

主题

4

回帖

1228

积分

管理员

积分
1228
QQ
来源: 2020-6-20 22:03:03 显示全部楼层 |阅读模式
基本信息
导入需要的库:csv文件
import numpy as np

import pandas as pd

import matplotlib.pyplot as plt



%matplotlib inline   #将画图库内嵌到网页上,这样就可以显示图像
使用pd读取相关的文件,这里读取的是csv文件
sales = pd.read_csv(r'sales_data.csv',parse_dates=['Date'])
查看文件信息
sales.head() sdgfa.jpg
sales.shape



#(113036, 18)
查看文件的相关信息,
sales.info()<class 'pandas.core.frame.DataFrame'>RangeIndex: 113036 entries, 0 to 113035Data columns (total 18 columns): #   Column            Non-Null Count   Dtype         ---  ------            --------------   -----          0   Date              113036 non-null  datetime64[ns] 1   Day               113036 non-null  int64          2   Month             113036 non-null  object         3   Year              113036 non-null  int64          4   Customer_Age      113036 non-null  int64                 dtypes: datetime64[ns](1), int64(9), object(8)memory usage: 15.5+ MB
查看详细信息sales.describe()

均值方差等信息

均值方差等信息


查看某一列的详细信息(包括均值方差等信息):
sales['Unit_Cost'].describe() xinxi.jpg

单独求均值方差如下:
sales['Unit_Cost'].mean() #均值

sales['Unit_Cost'].std() #方差

sales['Unit_Cost'].median() #中值

sales['Unit_Cost'].head() #前5行列表



##值分别为:

#267.296365759581

#549.8354831077943

#9.0
画图分析
横着的box图
sales['Unit_Cost'].plot(kind = 'box',vert=False, figsize=(14,6))

xinxi.jpg

画曲线图
sales['Unit_Cost'].plot(kind='density',figsize=(14,6))
density.png

画线
ax = sales['Unit_Cost'].plot(kind = 'density',figsize=(14,6))

ax.axvline(sales['Unit_Cost'].mean(),color='green')

ax.axvline(sales['Unit_Cost'].std(),color = 'red')

ax.axvline(sales['Unit_Cost'].median(),color = 'red')
density.png

画直方图
ax = sales['Unit_Cost'].plot(kind='hist',figsize=(14,6))

ax.set_ylabel('number of sales')

ax.set_xlabel('dollors')
density.png

分析Age_Group

sales.head()

sales['Age_Group'].value_counts()
density.png
density.png

通过原比例分析
sales['Age_Group'].value_counts().plot(kind='pie',figsize=(6,6))
density.png

通过圆柱bar进行分析
ax = sales['Age_Group'].value_counts().plot(kind = 'bar',figsize=(14,6))

ax.set_ylabel('number of sales')
density.png

从每一行之间查找相应的关系

相关性
corr = sales.corr()

corr
density.png

画图展示
fig = plt.figure(figsize=(8,8))

plt.matshow(corr,cmap='RdBu',fignum= fig.number)

plt.xticks(range(len(corr.columns)),corr.columns,rotation='vertical');

plt.yticks(range(len(corr.columns)),corr.columns);
density.png

用点的方式:年龄与收入之间的关系
sales.plot(kind='scatter',x='Customer_Age',y = 'Revenue',figsize=(6,6))
density.png

收入和利润的关系
sales.plot(kind='scatter',x= 'Revenue',y='Profit',figsize=(6,6))
density.png


其他的相关性
boxplot_cols=['Year','Customer_Age','Order_Quantity','Unit_Cost','Unit_Price','Profit']

sales[boxplot_cols].plot(kind='box',subplots=True,layout=(2,3),figsize=(14,8))
density.png

添加新的信息
添加每个人的收益
sales['Revenue_per_Age']=sales['Revenue']/sales['Customer_Age']



sales['Revenue_per_Age'].head()
density.png

画曲线显示
sales['Revenue_per_Age'].plot(kind='density',figsize=(14,6))
density.png

画直方图分析
sales['Revenue_per_Age'].plot(kind= 'hist',figsize=(14,6))
density.png

添加数据 添加一行Calculated_Cost
使用的计算方式为:Calculated_Cost=Order_Quantity∗Unit_Cost
sales['Calculated_Cost']= sales['Order_Quantity']*sales['Unit_Cost']

sales['Calculated_Cost'].head()


画图分析
sales.plot(kind='scatter',x='Calculated_Cost',y='Profit',figsize=(6,6))
density.png

修改Unit_Price的值,对其添加3%的税
sales['Unit_Price'].head()

sales['Unit_Price']*=1.03

sales['Unit_Price'].head()
density.png

索引
选择所有在Kentucky州的交易
sales.loc[sales['State'] == 'Kentucky'] density.png

得到年龄在(35-64)之间的成年人的收入的均值
sales.loc[sales['Age_Group']=='Adults (35-64)','Revenue'].mean()

762.8287654055604
年龄在小于25和年龄在35-64之间的人有多少?
sales.loc[(sales['Age_Group']=='Youth (<25)') | (sales['Age_Group'] == 'Adults (35-64)')].shape[0]
73652
计算美国成年人(35-64岁)的平均收入

sales.loc[(sales['Age_Group'] == 'Adults (35-64)') & (sales['Country'] == 'United States'), 'Revenue'].mean()
726.7260473588342
给每个法国人增加10%的收入
#查看

sales.loc[sales['Country']=='France','Revenue']

#增加

sales.loc[sales['Country']=='France','Revenue']*=1.1

#查看

sales.loc[sales['Country']=='France','Revenue'].head()
density.png



density.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
电话咨询: 135xxxxxxx
关注微信