- 1 先导入一些包
- 2 导入数据
- (1)从excel表导入
- 3 手动创建数据
- 4 数据排序
- 5 对数据进行简单计算
- 6 对数据进行0-1标准化
- 7 基本的描述统计指标
- 8 分组统计
- 9 相关分析
- 10 绘制散点图
- 11 线性回归模型
本文的数据分析均在anaconda中的Spyder中进行。
import pandas from sklearn.linear_model import LinearRegression import matplotlib import matplotlib.pyplot as plt2 导入数据 (1)从excel表导入
下面的截图是data.xlsx中的数据,sheet的名字data1。
执行如下代码
# 利用pandas里的read_excel函数
# 注意两个地方,一是写好文件路径(包括文件名)
# 二是写好导入文件中哪个sheet
data = pandas.read_excel(
'D:/7_science_and_technology/数据分析/data.xlsx',
sheet_name='data1'
结果如下:
# 利用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')
结果如下:
# True代表升序排列,False代表降序排列
sortData = data.sort_values(
by = ['数学成绩','语文成绩'],
ascending = [True, False]
)
结果如下:
# 对数据进行简单计算 data['总成绩'] = data.数学成绩 + data.语文成绩
结果如下:
# 对数据0-1标准化
data['语文成绩标准化'] = round(
(data.语文成绩 - data.语文成绩.min())/(
data.语文成绩.max() - data.语文成绩.min())
)
结果如下:
# 基本描述统计 print(data.总成绩.describe())
结果如下:
# 按性别进行分组统计
ga = data.groupby(by = ['性别'])['语文成绩'].agg('count')
print(ga)
print(ga.sum()) # 案例总数
print(ga/ga.sum()) # 计算比例
结果如下:
# 相关分析:语文成绩、数学成绩
corrMatrix = data[[
'数学成绩','语文成绩'
]].corr()
print(corrMatrix)
结果如下:
# 绘制散点图
#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))



