【愚公系列】《Python网络爬虫从入门到精通》034-DataFrame简单数据计算整理
【摘要】 标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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.注意事项
-
append
方法弃用:
Pandas 2.0+ 已弃用df.append()
,改用pd.concat([df, new_row])
。# 正确写法(替代 append) df = pd.concat([df, new_values.to_frame().T], ignore_index=True)
-
缺失值处理:
-
skipna=True
时自动忽略缺失值计算(默认)。 -
若数据含 NaN 且 skipna=False
,计算结果为 NaN。
-
-
数据类型一致性:
非数值列(如字符串)无法计算统计值,默认自动忽略。 -
多层索引处理:
使用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)