Pythonpandas库自学超详细教程

Written by

in

文章目录
  • (1)、在终端中运行 pip install pandas (2)、导入Pandas库并重命名为pd import pandas as pd # 查看pandas版本 print(pd.__version__) 输出: 2.2.3
  • 目录
    • 一、什么是Pandas库
      • (1)、Pandas 应用
      • (2)、Pandas 功能
      • (3)、数据结构
    • 二、安装pandas库
      • 三、操作教学
        • 1.基础操作
        • 2.拿取指定列的数据
        • 3.从头开始创建DataFrame
        • 4.DataFrame的统计数据
        • 5.分析csv文件中的数据
        • 6.excel表格的操作
        • 7.选择需要的列
        • 8.增加列
        • 9.修改列名
        • 10.对数据进行分组并计算平均数

      Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Excel 导入数据。

      Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

      Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

      Pandas 是数据分析的利器,它不仅提供了高效、灵活的数据结构,还能帮助你以极低的成本完成复杂的数据操作和分析任务。

      Pandas 提供了丰富的功能,包括:

      • 数据清洗:处理缺失数据、重复数据等。
      • 数据转换:改变数据的形状、结构或格式。
      • 数据分析:进行统计分析、聚合、分组等。
      • 数据可视化:通过整合 Matplotlib 和 Seaborn 等库,可以进行数据可视化。

      Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)。

      • Series 是一种类似于一维数组的对象,它由一组数据(各种 Numpy 数据类型)以及一组与之相关的数据标签(即索引)组成。

      • DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

      (1)、在终端中运行

      pip install pandas

      (2)、导入Pandas库并重命名为pd

      import pandas as pd
      # 查看pandas版本
      print(pd.__version__)

      输出: 2.2.3

      我想存储一些人的信息和对应的数据

      import pandas as pd
      df = pd.DataFrame(
          {
              "Name": ["Alice", "Bob", "Charlie"],
              "Age": [25, 30, 35],
              "City": ["New York", "Los Angeles", "Chicago"]
          }
      )
      print(df)

      打印的结果:

      DataFrame是一个二维数据结构,可以存储 不同类型的 (包括字符、整数、浮点值、 分类数据等)。它类似于电子表格,每一行都有自己的列标签和值

      print(df['City']) 

      打印的结果:

      a = pd.Series(["黑色", "红色", "白色"], name="color")
      print(a)

      打印的结果:

      df = pd.DataFrame(
          {
              "Name": ["Alice", "Bob", "Charlie"],
              "Age": [25, 30, 35],
              "City": ["New York", "Los Angeles", "Chicago"]
          }
      )
      print(df.describe())

      结果为:

      csv文件内容如下: 

      TABLE_SCHEMA

      TABLE_NAME

      ENGINE

      VERSION

      DATA_LENGTH

      CREATE_TIME

      information_schema

      CHARACTER_SETS

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      COLLATIONS

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      COLUMNS

      InnoDB

      10

      16384

       

      information_schema

      COLUMN_PRIVILEGES

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      ENGINES

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      EVENTS

      InnoDB

      10

      16384

       

      information_schema

      FILES

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      GLOBAL_STATUS

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      GLOBAL_VARIABLES

      MEMORY

      10

      0

      2025/3/10 10:04

      information_schema

      KEY_COLUMN_USAGE

      MEMORY

      10

      0

      2025/3/10 10:04

      只读取数据

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df)

      结果为:

      只想看前几行的数据

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df.head(8))

      结果为:

      分析每列的数据类型

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df.dtypes)

      结果为:

      读取更加详细的数据

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df.info)

      结果为:

      与csv同理,读取方法换成read_excel()这个就可以了

      import xlrd
      df = pd.read_excel("C:/Users/65742/Desktop/tables.xls")
      print(df)

      注意: read_excel()需要依赖xlrd模块,所以需要安装xlrd。

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df['TABLE_NAME'])

      结果为:

      需要选择多个列直接使用逗号拼接在中括号里面就OK了

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df[['TABLE_NAME', 'CREATE_TIME']])

      结果为:

      查看返回数据的行数以及列数

      df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
      print(df[['TABLE_NAME']].shape)

      结果为:

      请注意,返回的数据包括行数和列数

      筛选固定条件的数据

      above_0 = df[df["DATA_LENGTH"] > 0]
      print(above_0)

      结果为:

      如果你想检查数据是否大于某个值:

      print(df["DATA_LENGTH"] > 0)

      结果为:

      查询某个列中的多个值的数据

      engine_select = df[df["ENGINE"].isin(['InnoDB', 'MEMORY'])]
      print(engine_select)

      df[]中放置的是列名,isin中放的是感兴趣的数据

      结果为:

      组合多个条件查询

      new_result = df[(df["ENGINE"] == 'InnoDB') | (df["TABLE_NAME"] == 'FILES')]
      print(new_result)

      结果为:

      如果想验证列中的数据是不是空值

      create_time_not_na = df[df["CREATE_TIME"].notna()]
      print(create_time_not_na)

      筛选出所有“CREATE_TIME”列不为缺失值(NaN)的行,并将结果存储在一个新的 DataFrame 变量

      结果为:

      查询某列符合条件的数据,并只取该行的数据某一列

      table_names = df.loc[df["DATA_LENGTH"] > 0, "TABLE_NAME"]
      print(table_names)

      结果为:

      查询特定行到特定行,特定列到特定列的数据

      # 查询第1到4行,第3到5列的数据
      print(df.iloc[0:4, 2:5])

      结果为:

      切记:

      选择数据子集时,使用方括号。[]

      在这些括号内,您可以使用单个列/行标签、列表 的列/行标签、标签切片、条件表达式或 一个冒号。

      使用行时选择特定行和/或列 和列名称。loc

      使用 在表中的位置。iloc

      您可以根据 / 为选择分配新值。lociloc

      df = pd.read_excel("C:/Users/65742/Desktop/tables.xls", sheet_name='tables')
      print(df)
      df["数据长度"] = df["DATA_LENGTH"]*100  # 增加一列
      print(df)

      等号前面为你要新增加的列名,后面是原本存在的列名,执行之后会帮我们新建一个列名“数据长度”。

      结果为:

      且等号后面的数据是可以和其他类的数据运算或者直接运算的

      df = pd.read_excel("C:/Users/65742/Desktop/tables.xls", sheet_name='tables')
      print(df)
      c = df.rename(columns={"TABLE_NAME": "表名"})
      print(c)

      columns中键值对里面的key是原表格中的列,value是要替换的列名

      结果为:

       修改多个列的列名

      c = df.rename(columns={"TABLE_NAME": "表名", "DATA_LENGTH": "数据长度"})
      print(c)

       结果为:

      f = pd.DataFrame({
          "name": ["吴昊", '赵括', "李月荣", "吴昊", "李月荣"],
          "age": [28, 32, 35, 30, 36],
          "gender": ["男", "女", "男", "男", "女"],
          "score": [92, 85, 98, 88, 95]
      })
      
      print(f[["name","age","score"]].groupby("name").mean())

      结果为:

      到此这篇关于Python pandas库自学超详细教程的文章就介绍到这了,更多相关Python pandas库内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

      您可能感兴趣的文章:

      • Python安装Pandas库的两种方法
      • Python进阶学习之pandas中read_csv()用法详解
      • Python Pandas学习之基本数据操作详解
      • python pandas模块基础学习详解
      • Python学习笔记之pandas索引列、过滤、分组、求和功能示例
      • 详解Python学习之安装pandas
      • python学习教程之Numpy和Pandas的使用

      站内搜索