打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
pandas实用手册

Pandas最常用的数据对象是数据框(DataFrame)和Series。数据框与R中的DataFrame格式类似,都是一个二维数组。Series则是一个一维数组,类似于列表。数据框是Pandas中最常用的数据组织方式和对象。

series是一种一维数据结构,每一个元素都带有一个索引,与一维数组的含义相似,其中索引可以为数字或字符串。series结构名称:

dataframe是一种二维数据结构,数据以表格形式(与excel类似)存储,有对应的行和列。dataframe结构名称:

1、pandas安装及模块导入

最常用的方法是通过Anaconda安装,在终端或命令符输入如下命令安装:

conda install pandas

若未安装Anaconda,使用Python自带的包管理工具pip来安装:

pip install pandas

模块导入:

import pandas as pd # 导入pandas库print(pd.__version__) # 打印pandas版本信息

2、导入导出数据

#导入pd.read_csv(filename):从CSV文件导入数据pd.read_table(filename):从限定分隔符的文本文件导入数据pd.read_excel(filename):从Excel文件导入数据pd.read_sql(query, connection_object):从SQL表/库导入数据pd.read_json(json_string):从JSON格式的字符串导入数据pd.read_html(url):解析URL、字符串或者HTML文件,抽取其中的tables表格pd.read_clipboard():从你的粘贴板获取内容,并传给read_table()pd.DataFrame(dict):从字典对象导入数据,Key是列名,Value是数据#导出df.to_csv(filename):导出数据到CSV文件df.to_excel(filename):导出数据到Excel文件df.to_sql(table_name, connection_object):导出数据到SQL表df.to_json(filename):以Json格式导出数据到文本文件

3、查看数据信息

# df:任意的Pandas DataFrame对象# s:任意的Pandas Series对象df.head(n):查看DataFrame对象的前n行,默认5行df.tail(n):查看DataFrame对象的最后n行df.shape():查看行数和列数df.dtype:查看数据框每一列的数据类型df.index:查看索引df.columns:查看列名df.info():查看索引、数据类型和内存信息df.describe():显示描述性统计数据,包括集中趋势、分散趋势、形状等s.value_counts(dropna=False):查看Series对象的唯一值和计数df.apply(pd.Series.value_counts):查看DataFrame对象中每一列的唯一值和计数

4、数据的选取和过滤

# df:任意的Pandas DataFrame对象# s:任意的Pandas Series对象#选取df[col]:根据列名,并以Series的形式返回列df[[col1, col2,...]]:以DataFrame形式返回多列df.iloc[where]:按整数索引选取数据,选取单个行或行子集df.iloc[:,where]:按整数索引选取数据,选取单个列或列子集df.iloc[where_i,where_j]:按整数索引选取数据,同时选取行和列df.loc[col]:通过轴标签选取数据,选取单个行货一组行df.loc[:,col]:通过轴标签选取数据,选取单列或列子集df.loc[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.query('col2=="b"'):按照类似sql的规则筛选数据

5、数据的处理

# df:任意的Pandas DataFrame对象# s:任意的Pandas Series对象df.T:转置数据框,行和列转换df.columns = ['a','b','c']:重命名列名pd.isnull():检查DataFrame对象中的空值,并返回一个Boolean数组pd.notnull():检查DataFrame对象中的非空值,并返回一个Boolean数组df.dropna():删除所有包含空值的行df.dropna(axis=1):删除所有包含空值的列df.dropna(axis=1,thresh=n):删除所有小于n个非空值的行df.fillna(x):用x替换DataFrame对象中所有的空值s.astype(float):将Series中的数据类型更改为float类型s.replace(1,'one'):用‘one’代替所有等于1的值s.replace([1,3],['one','three']):用'one'代替1,用'three'代替3df.rename(columns=lambda x: x + 1):批量更改列名df.rename(columns={'old_name': 'new_ name'}):选择性更改列名df.set_index('column_one'):更改索引列df.rename(index=lambda x: x + 1):批量重命名索引df.sort_values(['col1']):按值排序,默认为正序,可通过ascending=False指定倒序排序df.sort_index(ascending=False):按索引排序,默认为正序,可通过ascending=False指定倒序排序df.drop_duplicates(['col']):去重重复项,通过指定列设置去重的参照

6、数据的合并和匹配

df1.merge(df2,on='col1',how='inner')df1.append(df2):将df2中的行添加到df1的尾部pd.concat([df1, df2],axis=1):将df2中的列添加到df1的尾部df1.join(df2,on=col1,how='inner'):对df1的列和df2的列执行SQL形式的join

7、数据的分类汇总

# df:任意的Pandas DataFrame对象# s:任意的Pandas Series对象df.groupby(['col2'])['col1'].sum():按指定的列做分类汇总;groupby还可以配合agg,filter,transform,apply等高级函数使用df['col3'].map(lambda x:x*2):将一个函数或匿名函数应用到Series或数据框的特定列df.apply(pd.np.cumsum):将一个函数或匿名函数应用到Series或数据框df.groupby(['col2']).agg({'col1':np.sum,'col3':np.mean}):一次性对多个列做聚合操作pd.pivot_table(df,index=['col2']):以col2列为索引建立数据透视表,默认计算方式为求均值df.count()非NaN的数量df.describe()一次性产生多个汇总统计df.min():最小值df.max():最大值df.idxmax(axis=0, skipna=True):返回含有最大值的index的Seriesdf.idxmin(axis=0, skipna=True):返回含有最小值的index的Seriesdf.quantile(axis=0)计算样本的分位数df.sum(axis=0, skipna=True, level=NaN)返回一个含有求和小计的Seriesdf.mean(axis=0, skipna=True, level=NaN)返回一个含有平均值的Seriesdf.median(axis=0, skipna=True, level=NaN)返回一个含有算术中位数的Seriesdf.var(axis=0, skipna=True, level=NaN)返回一个方差的Seriesdf.std(axis=0, skipna=True, level=NaN)返回一个标准差的Seriesdf.cumsum(axis=0, skipna=True, level=NaN)返回样本的累计和df.cummin(axis=0, skipna=True, level=NaN)返回样本的累计最大值df.cummax(axis=0, skipna=True, level=NaN)返回样本的累计最小值
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Pandas 中文API文档
Python数据分析常用函数及参数详解,可以留着以备不时之需
[译]Pandas常用命令对照清单
一起学习Python常用模块——pandas
首次公开,用了三年的 pandas 速查表
快乐学习Pandas入门篇:Pandas基础
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服