• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python Pandas常用函数方法总结

    初衷

    NumPy、Pandas、Matplotlib、SciPy 等可以说是最最最常用的 Python 库了。我们在使用 Python 库的时候,通常会遇到两种情况。以 Pandas 举例。

    这个时候大家就会开始借助百度、知乎、谷歌、CSDN 开始进行关键搜索了。这样做当然可以,最终也能得到你想要的结果,但是就会面临两个小问题。

    基于以上,我就在想如何解决这样一个问题。解决方案如下:假如你知道但只是忘记了某个函数可以实现这个功能,那么当你看到函数名称的时候,就会想起来。所以,我想把最最常用的一些方法和函数名称直接罗列出来,然后你一眼扫过去或者直接 ctrl+f 搜索中文,就能轻易唤起你曾经的记忆。假如你不知道是否存在一个函数,有你想要的功能,我依然还是把函数名称罗列出来,然后在其后进行一个中文的补充说明。你一眼扫过这些函数及其补充说明,相信很快就能判断是否有满足你需求的函数。

    下面的内容这样组织,第二部分我罗列出常用的 Pandas 函数方法,及其补充说明,第三部分我对这些函数的用法进行举例子,你拷贝到代码中进行修改就可以直接使用,这比从接口模板开始一点一点看省事多了。我相信这也是大部分优秀的程序员想要的东西,用最短的时间,完成想做的事情。当然,当下面的内容不满足你的需求,你可以进一步地去搜索即可。

    以下函数方法,涵盖了 90% 以上的使用情况,值得收藏,作为小字典查询。

    除非你经常用某种语言,函数方法烂熟于心而根本不需要查询,否则的话,大部分人也记不住这些东西。可能只记得有这么一个东西,都是现查别人的代码,要么拷贝过来改改,要么手抄过来。特别是我这种,接触的语言比较多,就经常搞串用法,大部分时候 ,都是现查现卖。

    Pandas 最最常用函数罗列

    ## 读写
    pd.Series #定义一维标记数组
    pd.DataFrame #定义数据框
    pd.read_csv #读取逗号分隔符文件
    pd.read_excel #读取 excel 表格
    pd.to_excel #写入 excel 表格
    pd.read_sql #读取 SQL 数据
    pd.read_table #读取 table
    pd.read_json #读取 json 文件
    pd.read_html #读取 html
    pd.read_clipboard() #从剪切板读入数据
    df.to_csv #写入 csv 文件
    df.to_excel #写入 excel 文件
    df.to_sql #写入 SQL 表
    df.to_json #写入 JSON 文件
    df.to_html #写入 HTML 表格
    df.to_clipboard() #写入剪切板
    
    ## 数据展示和统计
    df.info() #统计数据信息
    df.shape() #统计行数和列数
    df.index() #显示索引总数
    df.columns() #显示数据框有哪些列
    df.count() #显示有多少个记录
    df.head(n) #返回前 n 个,默认 5
    df.tail(n) #返回后 n 个
    df.sample(n) #随机选取 n 行
    df.sample(frac = 0.8) #百分比为 0.8 的选取
    df.dtypes #查看每一列的数据类型
    df.sum() #数据框按列求和
    df.cumsum() #数据框累计求和
    df.min() #给出每列的最小值
    df.max() #给出每列的最大值
    df['列名'].idxmin() #获取数据框某一列的最小值
    mySeries.idxmin() #获取 Series 的最小值
    df['列名'].idxmax() #获取数据框某一列的最大值
    mySeries.idxmax() #获取 Series 的最大值
    df.describe() #关数据的基本统计信息描述
    df.mean() #给出数据框每一列的均值
    df.median() #给出数据框每一列的中位数
    df.quantile #给出分位数
    df.var() #统计每一列的方差
    df.std() #统计每一列的标准差
    df.cummax() #寻找累计最大值,即已出现中最大的一个
    df.cummin() #累计最小值
    df['列名'].cumproad() #计算累积连乘
    len(df) #统计数据框长度
    df.isnull #返回数据框是否包含 null 值
    df.corr() #返回列之间的相关系数,以矩阵形式展示
    df['列名'].value_counts() #列去重后给每个值计数
    
    ## 数据选择
    mySeries['列名'] #用中括号获取列
    df['列名'] #选取指定列
    df.列名 #同上
    df[n0:n1] #返回 n0 到 n1 行之间的数据框
    df.iloc[[m],[n]] #iloc按行号来索引,两层中括号,取第 m 行第 n 列
    df.loc[m:n] #loc 按标签来索引,返回索引 m 到 n 的数据框,loc、iloc 主要针对行来说的
    df.loc[:,"列1":"列2"] #返回连续列的所有行
    df.loc[m:n,"列1":"列2"] #返回连续列的固定行
    df['列名'][n] #选取指定列的第 n 行
    df[['列1','列2']] #返回多个指定的列
    
    ## 数据筛选和排序
    df[df.列名  n] #筛选,单中括号用于 bool 值筛选
    df.filter(regex = 'code') #过滤器,按正则表达式筛选
    df.sort_values #按某一列进行排序
    df.sort_index() #按照索引升序排列
    df['列名'].unique() #列去重
    df['列名'].nunique() #列去重后的计数
    df.nlargest(n,'列名') #返回 n 个最大值构成的数据框
    df.nsmallest(n,'列名') #返回 n 个最小的数据框
    df.rank #给出排名,即为第几名
    
    ## 数据增加删除修改
    df["新列"] = xxx #定义新列
    df.rename #给列重命名
    df.index.name = "index_name" #设定或者修改索引名称
    df.drop #删除行或者列
    df.列名 = df.列名.astype('category') #列类型强制转化
    df.append #在末尾追加一行
    del df['删除的列'] #直接删除一列
    
    ## 特别的
    df.列名.apply #按列的函数操作
    pd.melt #将宽数据转化为长数据(拆分拉长),run 一下下面例子就知道什么意思了
    pd.merge #两个数据表间的横向连接(内连接,外连接等)
    pd.concat #横向或者纵向拼接
    

    Pandas 函数用法示例

    mySeries = pd.Series([1,2,3,4], index=['a','b','c','d'])
    
    data = {'Country' : ['Belgium', 'India', 'Brazil' ],
            'Capital': ['Brussels', 'New Delhi', 'Brassilia'],
            'Population': [1234,1234,1234]}
    df = pd.DataFrame(data, columns=['Country','Capital','Population'])
    
    pd.DataFrame(np.random.rand(20,5))
    
    df = pd.read_csv('data.csv')
    
    pd.read_excel('filename')
    pd.to_excel('filename.xlsx', sheet_name='Sheet1')
    
    df.quantile([0.25, 0.75]) # 给出每一列中的25%和75%的分位数
    
    filters = df.Date > '2021-06-1'
    df[filters] #选出日期在某个日期之后的所有行
    
    df.filter(regex='^L') #选出 L 开头的列
    
    df.sort_values('列名', ascending= False) #按指定列的值大小升序排列
    
    df.rename(columns= {'老列名' : '新列名'}) #修改某个列名
    
    df["新列"] = df.a- df.b #定义一个新的列表示为两个的差
    
    df.columns = map(str.lower(), df.columns) #所有列名变为小写字母
    
    df.columns = map(str.upper(), df.columns) #所有列名变为大写字母
    
    df.drop(columns=['列名']) #删除某一列
    df.drop(['列1', '列2'], axis=1) #含义同上,删除两列
    mySeries.drop(['a']) #删除 Series 指定值
    df.drop([0, 1]) #根据索引删除,双闭区间
    
    def fun(x):
        return x*3
    df.列名.apply(fun)  #把某一列乘 3 倍
    
    df.列名.apply(lambda x: x*3) #匿名表达式的写法
    
    df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'},'B': {0: 1, 1: 3, 2: 5}, 'C': {0: 2, 1: 4, 2: 6}})
    pd.melt(df, id_vars=['A'], value_vars=['B','C']) #melt的使用
    
    new=pd.DataFrame({'name':'lisa', 'gender':'F', 'city':'北京'},index=[1])
    df = new
    df=df.append(new) #增加一行数据
    
    frame = pd.DataFrame({'a':[2.3,-1.7,5,3],'b':[6,2.9,-3.1,8]},index=['one','two','three','four'])
    frame.rank(method="min",ascending=False)#对每一列的数据,根据大小给个排名
    
    
    #merge 表示横向连接
    df3 = pd.merge(df1,df2,how='inner',on='股票简称') #on表示连接列,how选择连接方式
    pd.merge(df1,df2,left_on='lkey',right_on='rkey',how='left') #当连接列名不同分别指定
    #concat 拼接
    pd.concat([df1,df1])  #纵向连接,当s1和s2索引不重叠时,可以直接拼接
    pd.concat([df1,df1],axis = 1)  #横向连接,默认外连接,以行索引为连接字段
    

    到此这篇关于Python Pandas常用函数方法总结的文章就介绍到这了,更多相关Pandas常用函数方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Pandas数据分析的一些常用小技巧
    • python之pandas用法大全
    • Python pandas用法最全整理
    • Python遍历pandas数据方法总结
    • Python pandas常用函数详解
    • Python使用Pandas库常见操作详解
    • pandas提升计算效率的一些方法汇总
    • 11个Python Pandas小技巧让你的工作更高效(附代码实例)
    • 详解pandas获取Dataframe元素值的几种方法
    • python数据分析必会的Pandas技巧汇总
    上一篇:深入理解python协程
    下一篇:详解Flask开发技巧之异常处理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python Pandas常用函数方法总结 Python,Pandas,常用,函数,方法,