2-pandas

查看DataFrame

先创建一个DataFrame

>>> import numpy as np
>>> d = np.random.rand(6,4)
>>> df = pd.DataFrame(data=d,index=['one','two','three','four','five','six'],columns=['A','B','C','D'])
>>> df
              A         B         C         D
one    0.716907  0.714715  0.424210  0.037944
two    0.283037  0.930533  0.695687  0.698150
three  0.303198  0.104441  0.893804  0.071477
four   0.164282  0.824111  0.361558  0.109699
five   0.862284  0.577114  0.157905  0.259883
six    0.268228  0.067560  0.405446  0.852927
  • 查看DataFrame中头部和尾部的行

    df.head()  #默认前5行,加入参数n表示前n行
    df.tail()  #默认后5行,加入参数n表示后n行
    
  • 显示行列数、索引(即行标签)、列(标签)和numpy 数据:

    df.shape
    
    df.index
    
    df.columns
    
    df.values
    
  • describe()函数用于对数据的快速统计汇总:

    >>> df.describe()
                  A         B         C         D
    count  6.000000  6.000000  6.000000  6.000000
    mean   0.432989  0.536412  0.489768  0.338347
    std    0.284107  0.368231  0.262155  0.350471
    min    0.164282  0.067560  0.157905  0.037944
    25%    0.271930  0.222609  0.372530  0.081033
    50%    0.293117  0.645914  0.414828  0.184791
    75%    0.613479  0.796762  0.627817  0.588584
    max    0.862284  0.930533  0.893804  0.852927
    
  • 查看转置后的数据 df.T,df表格本身没被修改

    >>> df.T
            one       two     three      four      five       six
    A  0.716907  0.283037  0.303198  0.164282  0.862284  0.268228
    B  0.714715  0.930533  0.104441  0.824111  0.577114  0.067560
    C  0.424210  0.695687  0.893804  0.361558  0.157905  0.405446
    D  0.037944  0.698150  0.071477  0.109699  0.259883  0.852927
    
  • 按轴进行排序:

    df.sort_index(axis, ascending)

    • axis = 0时表示按行标签排序,ascending=False表示降序,True表升序
    • axis = 1时表示按列标签排序
    >>> df.sort_index(axis=1, ascending= False) 
                  D         C         B         A
    one    0.037944  0.424210  0.714715  0.716907
    two    0.698150  0.695687  0.930533  0.283037
    three  0.071477  0.893804  0.104441  0.303198
    four   0.109699  0.361558  0.824111  0.164282
    five   0.259883  0.157905  0.577114  0.862284
    six    0.852927  0.405446  0.067560  0.268228
    

提取数据

  • 提取列

    1. df.列名
    2. df['列名']
    >>> df.A
    one      0.716907
    two      0.283037
    three    0.303198
    four     0.164282
    five     0.862284
    six      0.268228
    Name: A, dtype: float64
    
    >>> df['A']
    one      0.716907
    two      0.283037
    three    0.303198
    four     0.164282
    five     0.862284
    six      0.268228
    Name: A, dtype: float64
    
  • 提取行(利用切片方式):

    1. 使用索引方法,如 df[1:3], df[1:5]
    2. 使用标签方法,如 df['one':'three'],
    >>> df[1:3]
                  A         B         C         D
    two    0.283037  0.930533  0.695687  0.698150
    three  0.303198  0.104441  0.893804  0.071477
    
    #或者
    >>> df['two':'three']
                  A         B         C         D
    two    0.283037  0.930533  0.695687  0.698150
    three  0.303198  0.104441  0.893804  0.071477
    
  • 指定行和列(标签切片)df.loc[]
      df.loc[:, :],                     #所有行所有列
      df.loc[:,['A','B']],              #所有行,只有 A、B列
      df.loc['one':'four',['A','C']]  ,#第 one~four 行,只有A、C列
    

    >>> df.loc['one':'four',['A','C']]  
                  A         C
    one    0.716907  0.424210
    two    0.283037  0.695687
    three  0.303198  0.893804
    four   0.164282  0.361558
    

    指定某行某列的一个数据

    df.loc['three','B'] ,#第3行的第B列的数据
    df.loc['three',['B','C']],#第3行的第B、C列的数据
    
  • 指定行和列(数值切片):df.iloc[]

    用法与 df.loc[]一样,只是df.loc[] 用的是标签名(什么行什么列),而 df.iloc[],用的是数字(第几行第几列)。

  • 快速获取或修改某一个数据df.iat[行,列]

    获取第0行第0列的值:

    >>>df.iat[0,0]
    0.716907
    

    修改第0行第0列的值为1.111:

    >>>df.iat[0,0] = 1.111
    df
                  A         B         C         D
    one    1.111000  0.714715  0.424210  0.037944
    two    0.283037  0.930533  0.695687  0.698150
    three  0.303198  0.104441  0.893804  0.071477
    four   0.164282  0.824111  0.361558  0.109699
    five   0.862284  0.577114  0.157905  0.259883
    six    0.268228  0.067560  0.405446  0.852927
    
小结:

本次学习了以下知识点

  • 查看:几个函数 head(n)、tail(n)、shape、index、columns、values、describe()

  • 提取:

    列:df.A、df["A"]

    行:df[:]

    三个函数:loc[], iloc[], iat[]

posted @   aJream  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示