1、数据的导入方法
pd.read_csv(csv文件) 从CSV文件导入数据
pd.read_table(text文件) 从限定分隔符的文本文件导入数据
pd.read_excel(excel文件) 从excel文件中导入数据
pd.read_sql(sql语句,连接数据库) 从SQL表/库导入数据
pd.read_json(json字符串) 从json格式的字符串导入数据
2、数据的基础操作
使用pandas库导入的数据形式为dataframe形式,可以使用以下方式对dataframe操作
df.head(5) 查看dataframe对象的前n行,默认为5行
df.tail(5) 查看dataframe对象的最后n行
df.shape() 查看行数和列数
df.dtype 查看数据框每一列的数据类型
df.index 查看索引
df.columns 查看列名
df.info() 查看索引,数据类型和内存信息
df.describe() 显示描述性统计数据,包括集中趋势,分散趋势,形状等
df.apply(pd.series.value_counts) 查看dataframe对象中每一列唯一值和计数
df.T 转置数据框,行和列转换
df.columns=['a','b','c'] 重命名列名
pd.isnull() 检查dataframe对象中的空值
pd.notnull() 检查dataframe对象中的非空值
df.dropna() 删除所有包含空值的行
df.dropna(axis=1) 删除所有包含空值的列
df.fillna(x) 用x替换dataframe对象中所有的空值
df.rename(columns={'列1':'列2'}) 选择更改列名
df.set_index('索引列') 更改索引列
df.sort_values(['col1']) 按值排序,默认为正序
df.sort_index(ascending=False]) 按索引进行排序
df.drop_duplicates(['col']) 去重重复项,通过指定列设置去重的参照
3、数据的筛选和分组操作
df[col] 根据列名,并以series的形式返回列
df[[col1,col2,....]] 以dataframe形式返回多列
df.iloc[行名] 按整数索引选取数据,选取单个行或者行子集
df.iloc[:,列名] 按整数索引选取数据,选取单个列或者列子集
df.iloc[索引行,索引列] 按整数索引选取数据,同时选取行和列
df.iloc[col] 通过轴标签选取数据,选取单个行或者一组行
df.iloc[:,col] 通过轴标签选择数据,选择单列或者单子集
df.iloc[col1,col2] 通过轴标签选取数据,同时选取行或者列
df[df['col3']==True] 单独列为基础选择符合条件的数据
df[df=='a'] 以所有的列为基础选择符合条件的数据
df[(df['col2']=='a')&(df['col3']==True)] 多个筛选条件,且多个条件的逻辑为'且'
df[(df['col2']=='a')|(df['col3']==True)] 多个筛选条件,且多个条件的逻辑为'或'
df[df['col1'].isin([1,2])] 基于特定值我的范围的数据查找
df.merge(df2,on='列名',how='inner') 按照df1的列进行融合,形式为inner
df.append(df2) 将df2的行添加到df1的尾部
df.join(df2,on=col1,how='inner') 对df1的列和df2的列执行sql形式的join
df.groupby(['列名'])['列名'].sum() 按指定的列做分类汇总,
df.apply(pd.np.sumsum) 将一个函数或者匿名函数应用到series或者dataframe中
df.groupby(['col2']).agg({'列名':np.sum,'列名':np.mean}) 一次性对多个列做聚合函数
4、数据的保存
df.to_csv(文件) 导出数据到csv文件
df.to_excel(文件) 导出数据到Excel文件
df.to_sql(导出的表名,连接的数据库) 导出数据到sql表
随着大数据的时代的到来,数据变得越来越重要,数据可以帮助我们来看清行业的本质,也可以帮助我们更加快速的了解一个行业,关注公众号——DT学说,走进数据的时代