#读入csv文件
import pandas as pd
jddf = pd.read_csv('data.csv')
jddf.head()
#选择数据集中具体的列
jddf['close']
jddf.loc[jddf['close']>30,close]
#画具体某些列的图(折线)
import pandas as pd
import matplotlib.pyplot as plt
jddf.iloc[:,2:6].plot()
#碎石图
jddf.plot.scatter(x='volume',y='close',alpha=0.5)
#其余形状图
[ method_name for method_name in dir(jddf.plot) if not method_name.startswith("_") ]
“”“
['area',
'bar',
'barh',
'box',
'density',
'hexbin',
'hist',
'kde',
'line',
'pie',
'scatter']
“”“
#计算分类变量的频数
jddf['kind'].value_counts()#第一种
jddf.groupby('kind')['kind'].count()#第二种
#排序
jddf.sort_values(by=['volume','close'],ascending=False)#先按volume降序,再按close降序
#合并
pd.merge(jddf1, jddf2, how="left", on="kind")#没看懂
第三讲数据处理与可视化
主要包含数据的读取,画图
线性回归(例子:研发、营销与利润(来自kaggle))
from sklearn.linear_model import LinearRegression
import numpy as np
import matplotlib.pyplot as plt
#线性回归
lin_reg_svd = LinearRegression()
X_rd = np.array([profit['R&D Spend']]).T
y = np.array([profit['Profit']]).T
lin_reg_svd.fit(X_rd,y)
# 将回归拟合的 theta列向量 输出,注意 sklearn 的截距和系数是分开输出的
print(lin_reg_svd.intercept_,lin_reg_svd.coef_)#截距和系数
xplt_rd = np.sort(X_rd)
yplt_rd = lin_reg_svd.predict(xplt_rd)#得到y的预测值
# R square
print('R square score:', lin_reg_svd.score(X_rd,y))#拟合优度
#画回归图
plt.plot(xplt_rd,yplt_rd, 'r-')#-代表线
plt.plot(X_rd,y,'b.')#.代表点
plt.xlabel('R&D Spend')
plt.ylabel('Profit')
plt.show()
'''
R&D 与 Marketing 多特征与 profit 的线性回归
'''
# 将 Marketing Spend 作为实例特征列向量x
X_rdmk = np.array([data['R&D Spend'],data['Marketing Spend']]).T
# 将 Profit 作为目标列向量y
y = np.array([data['Profit']]).T
# 用sklearn的 LinearRegression 回归
lin_reg_svd.fit(X_rdmk,y)
# 注意 sklearn 的截距和系数是分开输出的,这里合成一个 theta 列向量
theta_rdmk = np.c_[lin_reg_svd.intercept_.reshape(1,1),lin_reg_svd.coef_].T#不懂np.c_啥意思
# 将回归拟合的 theta列向量 输出
print(theta_rdmk)
# R square
print('R square score', lin_reg_svd.score(X_rdmk,y))
线性回归——梯度下降
可以看b站(墨墨墨墨很多墨)的讲解,视频中还附有一个代码例子