【愚公系列】《Python网络爬虫从入门到精通》034-DataFrame简单数据计算整理

举报
愚公搬代码 发表于 2025/05/04 13:22:06 2025/05/04
【摘要】 标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳...
标题 详情
作者简介 愚公搬代码
头衔 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
博客内容 .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎 👍点赞、✍评论、⭐收藏

🚀前言

在数据分析的过程中,数据的计算与整理是至关重要的步骤。对于使用Pandas库的分析师而言,DataFrame不仅是数据存储的工具,更是进行各种计算和整理的强大助手。通过简单的数据计算,我们可以快速得出有价值的洞察,帮助我们更好地理解数据背后的趋势与模式。

本文将重点介绍如何在DataFrame中进行简单的数据计算与整理,包括基本的统计计算、分组汇总、数据透视等操作。我们将通过实际案例,展示如何利用Pandas的强大功能来快速处理和分析数据,让复杂的计算变得简单直观。

🚀一、DataFrame简单数据计算整理

🔎1.求和(sum函数)

功能:计算行或列的数据总和。

🦋1.1 语法与参数

DataFrame.sum(axis=0, skipna=True, level=None)
参数 说明
axis 0 按列求和(默认),1 按行求和
skipna True 自动忽略 NaN(默认),False 包含 NaN(结果为 NaN)
level 多层索引时指定层级(默认 None

🦋1.2 示例代码

import pandas as pd

# 数据准备
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130]]
index = [1, 2, 3]
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)

# 按行计算总成绩(新增列)
df['总成绩'] = df.sum(axis=1)
print(df)
在这里插入图片描述在这里插入图片描述

🔎2.求均值(mean函数)

功能:计算行或列的数据平均值。

🦋2.1 语法与参数

DataFrame.mean(axis=0, skipna=True, level=None)

参数同 sum 函数。

🦋2.2 示例代码

import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width', True)
data = [[110,105,99],[105,88,115],[109,120,130],[112,115]]
index = [1,2,3,4]
columns = ['语文','数学','英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
new=df.mean()
#增加一行数据(语文、数学和英语的平均值,忽略索引)
df=df._append(new,ignore_index=True)
print(df)
在这里插入图片描述在这里插入图片描述

🔎3.求最大值(max函数)

功能:计算行或列的数据最大值。

🦋3.1 语法与参数

DataFrame.max(axis=0, skipna=True, level=None)

参数同 sum 函数。

🦋3.2 示例代码

import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width', True)
data = [[110,105,99],[105,88,115],[109,120,130],[112,115]]
index = [1,2,3,4]
columns = ['语文','数学','英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
new=df.max()
#增加一行数据(语文、数学和英语的最大值,忽略索引)
df=df._append(new,ignore_index=True)
print(df)

在这里插入图片描述在这里插入图片描述

🔎4.求最小值(min函数)

功能:计算行或列的数据最小值。

🦋4.1 语法与参数

DataFrame.min(axis=0, skipna=True, level=None)

参数同 sum 函数。

🦋4.2 示例代码

import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width', True)
data = [[110,105,99],[105,88,115],[109,120,130],[112,115]]
index = [1,2,3,4]
columns = ['语文','数学','英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
new=df.min()
#增加一行数据(语文、数学和英语的最小值,忽略索引)
df=df._append(new,ignore_index=True)
print(df)
在这里插入图片描述在这里插入图片描述

🔎5.注意事项

  1. append方法弃用:
    Pandas 2.0+ 已弃用 df.append(),改用 pd.concat([df, new_row])

    # 正确写法(替代 append)
    df = pd.concat([df, new_values.to_frame().T], ignore_index=True)
    
  2. 缺失值处理:

    • skipna=True 时自动忽略缺失值计算(默认)。
    • 若数据含 NaN 且 skipna=False,计算结果为 NaN。
  3. 数据类型一致性:
    非数值列(如字符串)无法计算统计值,默认自动忽略。

  4. 多层索引处理:
    使用 level 参数可指定多层索引的层级进行计算。

🔎6.扩展函数

函数 功能 示例代码
median() 计算中位数 df.median(axis=0)
mode() 计算众数 df.mode(axis=0)
std() 计算标准差 df.std(axis=0)
var() 计算方差 df.var(axis=0)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。