航空公司数据分析
data = pd.read_csv(‘air_data.csv’,sep=",",engine=‘python’)#[62988 rows x 44 col]
print(data.columns)
##1.预处理数据:
(1)丢弃票价为空的记录。
exp1 = data[‘SUM_YR_1’].notnull()
exp2 = data[‘SUM_YR_2’].notnull()
exp = exp1 & exp2
airline_notnull = data[exp]
(2)保留票价不为0、平均折扣率不为0、总飞行千米数大于0的记录。
index1 = data[‘SUM_YR_1’] !=0
index2 = data[‘SUM_YR_2’] !=0
index3 = data[‘avg_discount’] !=0
index4 = data[‘SEG_KM_SUM’] >0
mask = (index1|index2) & index3 & index4
airline = airline_notnull[mask]
##选取特征值:
airline_selection = airline[[‘LOAD_TIME’,‘FFP_DATE’,‘FLIGHT_COUNT’,‘LAST_TO_END’,‘avg_discount’,‘SEG_KM_SUM’]]
##构建L特征:
L = pd.to_datetime(airline_selection[‘LOAD_TIME’]) - pd.to_datetime(airline_selection[‘FFP_DATE’])
L = L.astype(‘str’).str.split(’ ').str[0]
L = L.astype(‘int’)/30
print(L)
airline_feature = pd.concat([L, airline_selection.iloc[:, 2:6]], axis=1)
##标准化:(标准差标准化)
from sklearn.preprocessing import StandardScaler #标准差标准化方法
data = StandardScaler().fit_transform(airline_feature)
print(data)
#利用k-means算法聚类
from sklearn.cluster import KMeans
k = 5
#建模
kmeans_model = KMeans(n_clusters=5)
#训练模型
fit_kmeans = kmeans_model.fit(data)
#查看聚类中心
print(kmeans_model.cluster_centers_)
print(kmeans_model.labels_)
#查看类别有多少个数
print(kmeans_model.labels_[kmeans_model.labels_==0].size)
print(kmeans_model.labels_[kmeans_model.labels_==1].size)
print(kmeans_model.labels_[kmeans_model.labels_==2].size)
print(kmeans_model.labels_[kmeans_model.labels_==3].size)
print(kmeans_model.labels_[kmeans_model.labels_==4].size)
#可视化:
import matplotlib.pyplot as plt
center = kmeans_model.cluster_centers_
center_2 = center[:,0].reshape((5,1))
x_y = np.concatenate((center,center_2),axis=1)
angles = np.linspace(0,2*np.pi,5,endpoint=False)
labels = [‘L’,‘R’,‘F’,‘M’,‘C’]
angles = np.concatenate((angles,[angles[0]]))
for i in range(5):
plt.polar(angles, x_y[i],marker = ‘*’,linestyle = ‘:’)
plt.fill(angles,x_y[i],alpha = 0.3)
plt.xticks(angles,labels)
plt.show()
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第 |
---|