python数据分析(一):导入数据、描述统计、交叉分析、相关分析、线性回归分析
1 先导入一些包import pandasfrom sklearn.linear_model import LinearRegressionimport matplotlibimport matplotlib.pyplot as plt2 导入数据(1)从excel表导入下面的截图是data.xlsx中的数据,sheet的名字data1。执行如下代码# 利用pandas里的read_excel函数
·
目录
1 先导入一些包
本文的数据分析均在anaconda中的Spyder中进行。
import pandas
from sklearn.linear_model import LinearRegression
import matplotlib
import matplotlib.pyplot as plt
2 导入数据
(1)从excel表导入
下面的截图是data.xlsx中的数据,sheet的名字data1。
执行如下代码
# 利用pandas里的read_excel函数
# 注意两个地方,一是写好文件路径(包括文件名)
# 二是写好导入文件中哪个sheet
data = pandas.read_excel(
'D:/7_science_and_technology/数据分析/data.xlsx',
sheet_name='data1'
结果如下:
3 手动创建数据
# 利用pandas里的DataFrame手动创建
# '变量名':[...,...,...,...,]
data_2 = pandas.DataFrame({
'catalog': ['A','B','C','D','E'],
'percent': [0.1, 0.15, 0.4, 0.6, 0.9]
})
结果如下:
利用plot.bar函数画个直方图:
data_2.plot.bar(x = 'catalog', y='percent')
结果如下:
4 数据排序
# True代表升序排列,False代表降序排列
sortData = data.sort_values(
by = ['数学成绩','语文成绩'],
ascending = [True, False]
)
结果如下:
5 对数据进行简单计算
# 对数据进行简单计算
data['总成绩'] = data.数学成绩 + data.语文成绩
结果如下:
6 对数据进行0-1标准化
# 对数据0-1标准化
data['语文成绩标准化'] = round(
(data.语文成绩 - data.语文成绩.min())/(
data.语文成绩.max() - data.语文成绩.min())
)
结果如下:
7 基本的描述统计指标
# 基本描述统计
print(data.总成绩.describe())
结果如下:
8 分组统计
# 按性别进行分组统计
ga = data.groupby(by = ['性别'])['语文成绩'].agg('count')
print(ga)
print(ga.sum()) # 案例总数
print(ga/ga.sum()) # 计算比例
结果如下:
9 相关分析
# 相关分析:语文成绩、数学成绩
corrMatrix = data[[
'数学成绩','语文成绩'
]].corr()
print(corrMatrix)
结果如下:
10 绘制散点图
# 绘制散点图
#data.plot('数学成绩','语文成绩', kind = 'scatter')
plt.scatter(data['数学成绩'], data['语文成绩'])
结果如下:
11 线性回归模型
# 回归模型
x = data[['数学成绩']]
y = data[['语文成绩']]
lrModel = LinearRegression()
lrModel.fit(x, y)
print(lrModel.coef_)
print(lrModel.intercept_)
# 回归模型的精度
print(lrModel.score(x, y))
更多推荐
已为社区贡献4条内容
所有评论(0)