通往机器学习算法工程师的进阶之路是崎岖险阻的。《线性代数》 《统计学习方法》《机器学习》《模式识别》《深度学习》,以及《颈椎病康复指南》,这些书籍将长久地伴随着你的工作生涯。
除了拥有全面、有条理的知识储备,想成为一名优秀的算法工程师,更重要的是对算法模型有着发自心底的热忱,对研究工作有一种匠心精神。这种匠心精神,直白来讲,可以概括为:发现问题的眼光、解决问题的探索精神,以及对问题究原竟委的执着追求
1 2
| # 在使用之前,需要导入pandas库 import pandas as pd
|
导入数据
1 2 3 4 5 6 7 8
| import pandas as pd pd.DataFrame() pd.read_csv(filename) pd.read_table(filename) pd.read_excel(filename) pd.read_sql(query,connection_object) pd.read_json(json_string) pd.read_html(url)
|
导出数据
1 2 3 4 5 6 7
| df.to_csv(filename) df.to_excel(filename) df.to_sql(table_name,connection_object) df.to_json(filename) writer=pd.ExcelWriter('test.xlsx',index=False) df1.to_excel(writer,sheet_name='单位')和writer.save(),将多个数据帧写⼊同⼀个⼯作簿的多个sheet(⼯作表)
|
查看数据
1 2 3 4 5 6 7 8 9 10 11 12
| df.head(n) df.tail(n) df.shape() df.info() df.columns() df.describe() s.value_counts(dropna=False) df.apply(pd.Series.value_counts) df.isnull().any() df[df[column_name].duplicated()] df[df[column_name].duplicated()].count()
|
数据选取
1 2 3 4 5 6 7 8 9 10 11 12 13
| df[col] df[[col1,col2]] s.iloc[0] s.loc['index_one'] df.iloc[0,:] df.iloc[0,0] df.loc[0,:] df.ix[[:5],["col1","col2"]] iloc的结合体。 df.at[5,"col1"] df.iat[5,0]
|
数据处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| df.columns= ['a','b','c'] pd.isnull() pd.notnull() df.dropna() df.dropna(axis=1) df.dropna(axis=1,thresh=n) df.fillna(value=x) df[column_name].fillna(x) s.astype(float) s.replace(1,'one') s.replace([1,3],['one','three']) df.rename(columns=lambdax:x+1) df.rename(columns={'old_name':'new_ name'}) df.set_index('column_one') df.reset_index("col1") df.rename(index=lambdax:x+1)
|
数据分组、排序、透视
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| df.sort_index().loc[:5] df.sort_values(col1) df.sort_values(col2,ascending=False) df.sort_values([col1,col2],ascending=[True,False]) df.groupby(col) df.groupby([col1,col2]) df.groupby(col1)[col2].agg(mean) df.pivot_table(index=col1,values=[col2,col3],aggfunc={col2:max,col3:[ma,min]}) df.groupby(col1).agg(np.mean) df.groupby(col1).col2.agg(['min','max']) data.apply(np.mean) data.apply(np.max,axis=1) df.groupby(col1).col2.transform("sum")
|
数据合并
1 2 3 4 5
| df1.append(df2) df.concat([df1,df2],axis=1,join='inner') df1.join(df2.set_index(col1),on=col1,how='inner') pd.merge(df1,df2,on='col1',how='outer') pd.merge(df1,df2,left_index=True,right_index=True,how='outer')
|