常用函数

以下列出了 Pandas 常用的一些函数及使用实例:

读取数据

函数 说明
pd.read_csv(filename) 读取 CSV 文件;
pd.read_excel(filename) 读取 Excel 文件;
pd.read_sql(query, connection_object) 从 SQL 数据库读取数据;
pd.read_json(json_string) 从 JSON 字符串中读取数据;
pd.read_html(url) 从 HTML 页面中读取数据。

实例

import pandas as pd

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

# 从 Excel 文件中读取数据
df = pd.read_excel('data.xlsx')

# 从 SQL 数据库中读取数据
import sqlite3
conn = sqlite3.connect('database.db')
df = pd.read_sql('SELECT * FROM table_name', conn)

# 从 JSON 字符串中读取数据
json_string = '{"name": "John", "age": 30, "city": "New York"}'
df = pd.read_json(json_string)

# 从 HTML 页面中读取数据
url = 'https://www.aaronyang.cc'
dfs = pd.read_html(url)
df = dfs[0] # 选择第一个数据框

查看数据

函数 说明
df.head(n) 显示前 n 行数据;
df.tail(n) 显示后 n 行数据;
df.info() 显示数据的信息,包括列名、数据类型、缺失值等;
df.describe() 显示数据的基本统计信息,包括均值、方差、最大值、最小值等;
df.shape 显示数据的行数和列数。

实例

# 显示前五行数据
df.head()

# 显示后五行数据
df.tail()

# 显示数据信息
df.info()

# 显示基本统计信息
df.describe()

# 显示数据的行数和列数
df.shape

实例

import pandas as pd

data = [
    {"name": "Google", "likes": 25, "url": "https://www.google.com"},
    {"name": "AYBlog", "likes": 30, "url": "https://www.aaronyang.cc"},
    {"name": "Taobao", "likes": 35, "url": "https://www.taobao.com"}
]

df = pd.DataFrame(data)
# 显示前两行数据
print(df.head(2))
# 显示前最后一行数据
print(df.tail(1))

以上实例输出结果为:

file


数据清洗

函数 说明
df.dropna() 删除包含缺失值的行或列;
df.fillna(value) 将缺失值替换为指定的值;
df.replace(old_value, new_value) 将指定值替换为新值;
df.duplicated() 检查是否有重复的数据;
df.drop_duplicates() 删除重复的数据。

实例

# 删除包含缺失值的行或列
df.dropna()

# 将缺失值替换为指定的值
df.fillna(0)

# 将指定值替换为新值
df.replace(\'old_value\', \'new_value\')

# 检查是否有重复的数据
df.duplicated()

# 删除重复的数据
df.drop_duplicates()

数据选择和切片

函数 说明
df[column_name] 选择指定的列;
df.loc[row_index, column_name] 通过标签选择数据;
df.iloc[row_index, column_index] 通过位置选择数据;
df.ix[row_index, column_name] 通过标签或位置选择数据;
df.filter(items=[column_name1, column_name2]) 选择指定的列;
df.filter(regex=\’regex\’) 选择列名匹配正则表达式的列;
df.sample(n) 随机选择 n 行数据。

实例

# 选择指定的列
df['column_name']

# 通过标签选择数据
df.loc[row_index, column_name]

# 通过位置选择数据
df.iloc[row_index, column_index]

# 通过标签或位置选择数据
df.ix[row_index, column_name]

# 选择指定的列
df.filter(items=['column_name1', 'column_name2'])

# 选择列名匹配正则表达式的列
df.filter(regex='regex')

# 随机选择 n 行数据
df.sample(n=5)

数据排序

函数 说明
df.sort_values(column_name) 按照指定列的值排序;
df.sort_values([column_name1, column_name2], ascending=[True, False]) 按照多个列的值排序;
df.sort_index() 按照索引排序。

实例

# 按照指定列的值排序
df.sort_values('column_name')

# 按照多个列的值排序
df.sort_values(['column_name1', 'column_name2'], ascending=[True, False])

# 按照索引排序
df.sort_index()

数据分组和聚合

函数 说明
df.groupby(column_name) 按照指定列进行分组;
df.aggregate(function_name) 对分组后的数据进行聚合操作;
df.pivot_table(values, index, columns, aggfunc) 生成透视表。

实例

# 按照指定列进行分组
df.groupby('column_name')

# 对分组后的数据进行聚合操作
df.aggregate('function_name')

# 生成透视表
df.pivot_table(values='value', index='index_column', columns='column_name', aggfunc='function_name')

数据合并

函数 说明
pd.concat([df1, df2]) 将多个数据框按照行或列进行合并;
pd.merge(df1, df2, on=column_name) 按照指定列将两个数据框进行合并。

实例

# 将多个数据框按照行或列进行合并
df = pd.concat([df1, df2])

# 按照指定列将两个数据框进行合并
df = pd.merge(df1, df2, on='column_name')

数据选择和过滤

函数 说明
df.loc[row_indexer, column_indexer] 按标签选择行和列。
df.iloc[row_indexer, column_indexer] 按位置选择行和列。
df[df[\’column_name\’] > value] 选择列中满足条件的行。
df.query(\’column_name > value\’) 使用字符串表达式选择列中满足条件的行。

数据统计和描述

函数 说明
df.describe() 计算基本统计信息,如均值、标准差、最小值、最大值等。
df.mean() 计算每列的平均值。
df.median() 计算每列的中位数。
df.mode() 计算每列的众数。
df.count() 计算每列非缺失值的数量。

实例

假设我们有如下的 JSON 数据,数据保存到 data.json 文件:

data.json 文件

[
    {
        "name": "Alice",
        "age": 25,
        "gender": "female",
        "score": 80
    },
    {
        "name": "Bob",
        "age": null,
        "gender": "male",
        "score": 90
    },
    {
        "name": "Charlie",
        "age": 30,
        "gender": "male",
        "score": null
    },
    {
        "name": "David",
        "age": 35,
        "gender": "male",
        "score": 70
    }
]

我们可以使用 Pandas 读取 JSON 数据,并进行数据清洗和处理、数据选择和过滤、数据统计和描述等操作,具体如下:

实例

import pandas as pd

# 读取 JSON 数据
df = pd.read_json('data.json')

# 删除缺失值
df = df.dropna()

# 用指定的值填充缺失值
df = df.fillna({'age': 0, 'score': 0})

# 重命名列名
df = df.rename(columns={'name': '姓名', 'age': '年龄', 'gender': '性别', 'score': '成绩'})

# 按成绩排序
df = df.sort_values(by='成绩', ascending=False)

# 按性别分组并计算平均年龄和成绩
grouped = df.groupby('性别').agg({'年龄': 'mean', '成绩': 'mean'})

# 选择成绩大于等于90的行,并只保留姓名和成绩两列
df = df.loc[df['成绩'] >= 90, ['姓名', '成绩']]

# 计算每列的基本统计信息
stats = df.describe()

# 计算每列的平均值
mean = df.mean()

# 计算每列的中位数
median = df.median()

# 计算每列的众数
mode = df.mode()

# 计算每列非缺失值的数量
count = df.count()

输出结果如下:

# df
   姓名  年龄 性别  成绩
1  Bob   0  male  90

# grouped
             年龄  成绩
性别                
female  25.000000  80
male    27.500000  80

# stats
         成绩
count   1.0
mean   90.0
std     NaN
min    90.0
25%    90.0
50%    90.0
75%    90.0
max    90.0

# mean
成绩    90.0
dtype: float64

# median
成绩    90.0
dtype: float64

# mode
    姓名    成绩
0  Bob  90.0

# count
姓名    1
成绩    1
dtype: int64

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/%e5%b8%b8%e7%94%a8%e5%87%bd%e6%95%b0/

(0)
AuroraAurora站点维系者
上一篇 2023年 5月 15日 下午7:17
下一篇 2023年 5月 16日 下午3:40

相关推荐

  • umask

    文章目录umask概要主要用途参数选项返回值例子注意 umask 显示或设置创建文件的权限掩码。 概要 umask [-p] [-S] [mode] 主要用途 显示当前的文件权限掩…

    入门教程 2024年 3月 11日
  • C++ 注释

    程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C++ 支持单行注释和多行注释。注释中的所有字符会被 C++…

    2024年 3月 18日
  • gdb

    文章目录gdb补充说明语法选项参数实例补充内容 gdb 功能强大的程序调试器 补充说明 gdb命令 包含在GNU的gcc开发套件中,是功能强大的程序调试器。GDB中的命令固然很多,…

    入门教程 2023年 12月 14日
  • 28. 多态

    欢迎来到 Golang 系列教程的第 28 篇。 Go 通过接口来实现多态。我们已经讨论过,在 Go 语言中,我们是隐式地实现接口。一个类型如果定义了接口所声明的全部方法,那它就实…

    2023年 12月 5日
  • squid

    文章目录squid补充说明语法选项 squid squid服务器守护进程 补充说明 squid命令 高性能的Web客户端代理缓存服务器套件“squid”的服务器守护进程。 语法 s…

    入门教程 2024年 3月 5日
  • mysqladmin

    文章目录mysqladmin补充说明语法选项参数 mysqladmin MySQL服务器管理客户端 补充说明 mysqladmin命令 是mysql服务器管理任务的客户端工具,它可…

    入门教程 2024年 1月 3日
  • Java 开发环境配置

    在本章节中我们将为大家介绍如何搭建Java开发环境。 Windows 上安装开发环境 Linux 上安装开发环境 安装 Eclipse 运行 Java 文章目录window系统安装…

    2023年 3月 4日
  • Git 工作区、暂存区和版本库

    基本概念 我们先来理解下 Git 工作区、暂存区和版本库概念: 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 i…

    2024年 4月 30日
  • IOS应用程序调试

    文章目录简介选择一个调试器如何查找编码错误?设置断点异常断点下一步是什么? 简介 当我们做应用程序的时候,可能会犯各种错误,这可能会导致各种不同的错误。因此,为了修复这些错误或缺陷…

    2023年 4月 1日
  • bmodinfo

    文章目录bmodinfo补充说明语法选项参数实例 bmodinfo 显示给定模块的详细信息 补充说明 bmodinfo命令 用于显示给定模块的详细信息。 语法 bmodinfo(选…

    入门教程 2023年 12月 6日
Translate »