这是一篇机器学习的介绍,本文不会涉及公式推导,主要是一些算法思想的随笔记录。
适用人群:机器学习初学者,转AI的开发人员。
编程语言:Python
自己在项目中经常用到pandas,尤其是数据分析与数据预处理这两部分,自己最直接的感受就是pandas像是SQL+excel,当然,pandas的功能远不止这些。
(注:以下pd均表示pandas,df指pandas对象)
数据切片
pandas获取某列数据,可以通过列名 [‘column’] 获取,可以通过数据切片来获取,数据切片既可以获取列(特征),也可以获取行(记录),.ix[row,column]:
df['name','date']
df.ix[:3,:2]
df.ix[:3,[x for x in df.columns if 'width' in x]]
遍历数据
pandas中遍历数据,可以使用迭代器的方式:
DataFrame.iterrows()
for index, row in df.iterrows():
print row["c1"], row["c2"]
也可以通过apply()的方式应用lambda表达式:
改用DataFrame.apply():
new_df = df.apply(lambda x: x * 2)
去除某些列
drop()
df = df.drop(['desc','url'],axis=1)
数据筛选
pandas进行数据筛选,方式很多,也很灵活,类似于SQL中的where条件过滤:
df[df['name']=='haozk']
df[~(df['name']=='haozk')]
df[(df['age'].astype(int)==35) & (df['height]>170.5) ]
数据拼接
pandas进行数据拼接,比如在数据预处理阶段,对某些特征进行了特征编码,尤其是进行了One-Hot-Encoding处理,特征列会增多,或者进行了特征列的筛选,需要进行数据拼接(当然,数据切片也可以做到),再或者是计算数据的交集、差集、并集等,数据拼接的方法有concat()、merge()、join(),由于篇幅有限,可参照如下博文:
数据合并与重塑:concat篇
数据合并与重塑:join/merge篇