功能强大的数据处理和分析库Pandas

Pandas简介

Pandas是一个基于Python编程语言的开源数据处理和分析库,它提供了高效、灵活和易于使用的数据结构,使得数据操作变得简单而强大。Pandas的核心数据结构是两个主要的对象:Series和DataFrame。

  • Series:是一维带标签的数组,可以容纳不同类型的数据。它类似于带有标签的数组或简单的列。

  • DataFrame:是一个二维表格,可以容纳不同类型的数据。它类似于电子表格或关系型数据库中的表,每列可以具有不同的数据类型。

Pandas提供了丰富的功能和工具,用于数据清洗、转换、分析和可视化。以下是一些Pandas的常用功能:

  1. 数据读取和写入:Pandas可以从各种数据源中读取数据,如CSV文件、Excel文件、数据库查询等。同样,它也可以将处理后的数据保存到不同的格式中。

  2. 数据清洗和预处理:Pandas提供了强大的工具来处理缺失值、重复数据、异常值等。它还支持数据类型转换、重命名列、删除和添加列等操作。

  3. 数据选择和筛选:Pandas允许你使用类似SQL的语法来选择和筛选数据。你可以根据行、列、条件等进行数据切片和索引。

  4. 数据聚合和分组:Pandas可以根据指定的标准对数据进行分组,并执行聚合函数(如求和、平均值、计数等)。

  5. 数据可视化:Pandas结合了Matplotlib等库的功能,可以轻松地创建各种类型的图表和可视化展示,包括线图、柱状图、散点图等。

总之,Pandas是一个功能强大的数据处理和分析库,它在数据科学、机器学习和金融领域等许多领域都被广泛使用。它的直观和灵活的接口使得数据操作变得简单,并提供了丰富的功能来处理和分析结构化数据。
Pandas提供了多种方法来读取不同类型的数据。下面是一些常见的数据读取方法:

Pandas 读取数据

  1. 读取CSV文件:

    1
    2
    3
    import pandas as pd

    df = pd.read_csv('file.csv')

    上述代码将从名为”file.csv”的CSV文件中读取数据,并将其存储在一个DataFrame对象中。

  2. 读取Excel文件:

    1
    2
    3
    import pandas as pd

    df = pd.read_excel('file.xlsx', sheet_name='Sheet1')

    上述代码将从名为”file.xlsx”的Excel文件中读取名为”Sheet1”的工作表,并将数据存储在一个DataFrame对象中。

  3. 读取SQL数据库:
    首先,需要安装pandas和适当的数据库驱动程序(如pandas自带的sqlite3)。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import pandas as pd
    import sqlite3

    # 连接数据库
    conn = sqlite3.connect('database.db')

    # 读取数据
    query = "SELECT * FROM table_name"
    df = pd.read_sql_query(query, conn)

    # 关闭数据库连接
    conn.close()

    上述代码连接到名为”database.db”的SQLite数据库,从名为”table_name”的表中读取数据,并将其存储在DataFrame对象中。

这只是一些常见的读取数据的方法,Pandas还支持其他各种数据源和格式,如JSON、HTML、HDF5等。无论你使用哪种方法,读取的数据将存储在一个DataFrame对象中,方便进行后续的数据处理和分析。

Pandas两种主要数据结构

Pandas提供了两种主要的数据结构:Series和DataFrame。

  1. Series:

    • Series是一维带标签的数组,可以容纳不同类型的数据。它由两部分组成:索引和数据。
    • 索引是标签或整数,用于访问和操作Series中的数据。
    • 创建Series的方式可以是通过传递列表、数组或字典来构建。例如:
      1
      2
      3
      4
      5
      6
      7
      8
      import pandas as pd

      # 通过列表创建Series
      s = pd.Series([1, 3, 5, np.nan, 6, 8])

      # 通过字典创建Series
      data = {'apple': 2, 'banana': 4, 'orange': 7}
      s = pd.Series(data)
  2. DataFrame:

    • DataFrame是一个二维的表格型数据结构,由行和列组成。类似于电子表格或关系型数据库中的表。
    • DataFrame提供了一个灵活的方法来处理和分析结构化数据,每列可以包含不同的数据类型。
    • 可以通过多种方式创建DataFrame,如从CSV、Excel、数据库等读取数据,或者直接从NumPy数组或字典创建。例如:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      import pandas as pd

      # 从字典创建DataFrame
      data = {'Name': ['John', 'Emily', 'Charlie'],
      'Age': [25, 30, 35],
      'City': ['New York', 'San Francisco', 'London']}
      df = pd.DataFrame(data)

      # 从CSV文件读取数据创建DataFrame
      df = pd.read_csv('data.csv')

DataFrame具有许多有用的功能,例如列选择、行选择、条件筛选、数据聚合等。它还提供了强大的数据清洗和转换工具,使数据处理变得更加高效和方便。

Pandas 查询和筛选数据

在Pandas中,你可以使用不同的方法来查询和筛选数据。下面是一些常用的数据查询方法:

  1. 列选择:

    • 选择单列:使用DataFrame的列名,可以通过df['列名']df.列名来选择单列数据。
    • 选择多列:传递一个列名的列表,可以通过df[['列名1', '列名2', ...]]来选择多列数据。
  2. 行选择:

    • 通过索引选择:使用df.loc[索引]方法,可以根据索引选择指定行的数据。
    • 通过位置选择:使用df.iloc[位置]方法,可以根据位置选择指定行的数据。
    • 通过条件筛选:使用布尔条件来筛选行数据,例如df[条件]。条件可以是单个条件或组合条件,如df[df['列名'] > 5]
  3. 条件筛选:

    • 使用布尔条件:通过在DataFrame中使用布尔条件,可以筛选满足条件的数据。
    • 使用比较操作符:可以使用比较操作符(如>, <, ==等)来进行条件筛选。
  4. 多重条件筛选:

    • 使用逻辑操作符:可以使用逻辑操作符(如&表示与,|表示或,~表示非)来组合多个条件进行筛选。
    • 使用df.query()方法:df.query('条件')方法提供了一种简洁的方式来执行多条件筛选。
  5. 使用函数进行筛选:

    • 使用df.apply()方法:可以使用自定义函数,对DataFrame的每一行或每一列进行操作和筛选。
    • 使用df.isin()方法:可以通过传递一个列表或Series,筛选包含在列表中的值的数据。

这些是Pandas中常用的数据查询方法,它们提供了灵活的方式来选择和筛选数据,以满足各种分析和处理需求。你可以根据具体的需求选择适合的查询方法,并结合适当的条件进行数据筛选。

Author: suce
Link: https://haoubox.cn/2023/06/29/功能强大的数据处理和分析库Pandas/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.