图片来源:《星空列车与白的旅行》CG及二创
494 字
1 分钟
笔记|数据分析学习笔记20|DataFrame的常用方法
本系列所有文章都放在
数据科学标签,总目录如下:
20.1 DataFrame 常用方法总览
常用方法总览
| 方法 | 说明 |
|---|---|
head() | 查看前 n 行数据,默认 5 行 |
tail() | 查看后 n 行数据,默认 5 行 |
isin() | 判断元素是否包含在参数集合中 |
isna() | 判断是否为缺失值(如 NaN 或 None) |
sum() | 求和,自动忽略缺失值 |
mean() | 平均值 |
min() | 最小值 |
max() | 最大值 |
var() | 方差 |
std() | 标准差 |
median() | 中位数 |
mode() | 众数(可返回多个) |
quantile(q) | 分位数,q 取 0~1 之间 |
describe() | 常见统计信息(count、mean、std、min、25%、50%、75%、max) |
value_counts() | 每个唯一值的出现次数 |
count() | 非缺失值数量 |
duplicated() | 判断行是否重复 |
drop_duplicates() | 去除重复行 |
sample() | 随机抽样 |
sort_index() | 按索引排序 |
sort_values() | 按值排序 |
replace() | 替换值 |
nlargest() | 返回某列最大的 n 条数据 |
nsmallest() | 返回某列最小的 n 条数据 |
20.2 统计描述方法
import pandas as pdimport numpy as np
df = pd.DataFrame( { 'name': ['tom', 'tom', 'jack', 'alice', 'bob', 'allen'], 'score': [60.5, 60.5, 80, 30.6, 70, 83.5], 'age': [15, 15, 15, 20, 26, 30] }, index=[1, 2, 3, 4, 5, 6])描述性统计:
print(df.describe())输出:
score agecount 6.000000 6.000000mean 64.183333 20.166667std 19.037376 6.493587min 30.600000 15.00000025% 60.500000 15.00000050% 65.250000 17.50000075% 77.500000 24.500000max 83.500000 30.000000describe() 自动跳过非数值列(如 name),仅对数值列做统计。
常用统计计算:
print(df['score'].sum()) # 求和print(df.score.max()) # 最大值print(df.age.min()) # 最小值print(df.score.mean()) # 平均值print(df.score.median()) # 中位数print(df.age.mode()) # 众数print(df.score.std()) # 标准差print(df.score.var()) # 方差print(df.score.quantile(0.25)) # 第25百分位数print(df.count()) # 每列非缺失值数量输出:
385.183.51564.1833333333333465.250 15Name: age, dtype: int6419.037375519400424362.421666666666660.5name 6score 6age 6dtype: int6420.3 去重与排序
去重:
print(df.drop_duplicates()) # 去除完全重复的行print(df.duplicated(subset=['age'])) # 判断指定列的重复情况输出:
name score age1 tom 60.5 153 jack 80.0 154 alice 30.6 205 bob 70.0 266 allen 83.5 301 False2 True3 True4 False5 False6 Falsedtype: boolduplicated(subset=['age']) 检查 age 列的值是否重复,返回布尔 Series。
排序:
print(df.sort_index(ascending=False))print(df.sort_values(by=['score', 'age'], ascending=[False, True]))输出:
name score age6 allen 83.5 305 bob 70.0 264 alice 30.6 203 jack 80.0 152 tom 60.5 151 tom 60.5 15 name score age3 jack 80.0 156 allen 80.0 305 bob 70.0 261 tom 60.5 152 tom 60.5 154 alice 30.6 20sort_values() 支持多列排序:先按 score 降序,再按 age 升序。
取最大/最小 n 行:
print(df.nlargest(2, columns=['score', 'age']))print(df.nsmallest(2, columns=['score', 'age']))输出:
name score age6 allen 83.5 303 jack 80.0 15 name score age4 alice 30.6 201 tom 60.5 1520.4 其他实用方法
print(df.isin(['jack', 20])) # 判断元素是否在集合中print(df.isna()) # 判断是否为缺失值print(df.value_counts()) # 统计每行出现的频次print(df.replace(15, 30)) # 将 15 替换为 30print(df.sample(2)) # 随机抽样 2 行输出(结果随机):
name score age1 False False False2 False False False3 True False False4 False False True5 False False False6 False False False name score age1 False False False... name score age1 tom 60.5 302 tom 60.5 303 jack 80.0 304 alice 30.6 205 bob 70.0 266 allen 83.5 3020.5 本节小结
本节完成了以下内容:
- 掌握了
describe()、sum()、mean()、max()、min()、median()、mode()、std()、var()、quantile()等统计方法。 - 掌握了
drop_duplicates()、duplicated()去重方法。 - 掌握了
sort_index()、sort_values()、nlargest()、nsmallest()排序与取值方法。 - 掌握了
isin()、isna()、value_counts()、replace()、sample()等实用方法。
下一节我们将通过 DataFrame 案例 综合练习这些方法。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
笔记|数据分析学习笔记20|DataFrame的常用方法
https://luq-blog.xyz/posts/2026-07-04-data-notes-20-df-methods/ 部分信息可能已经过时
相关文章 智能推荐
1
笔记|数据分析学习笔记15|Series的常用方法
理工研习 本节系统介绍 Pandas Series 的常用方法,涵盖统计描述、缺失值判断、去重排序、索引操作,以及案例中涉及的补充方法。
2
笔记|数据分析学习笔记18|DataFrame的属性
理工研习 本节介绍 Pandas DataFrame 的常用属性,包括 index、columns、values、shape、dtypes、T 等,掌握 DataFrame 元信息的获取方式。
3
笔记|数据分析学习笔记19|DataFrame的访问
理工研习 本节介绍 Pandas DataFrame 的数据访问方式,包括 loc、iloc、at、iat 索引器以及布尔索引、单列/多列获取、抽样等操作。
4
笔记|数据分析学习笔记17|DataFrame的介绍和创建
理工研习 本节介绍 Pandas DataFrame 的二维表格结构,包括行索引、列标签的概念以及通过 Series 和字典创建 DataFrame 的方法。
5
笔记|数据分析学习笔记21|DataFrame案例
理工研习 本节通过学生成绩、销售数据、电商用户行为三个实际案例,综合运用 DataFrame 的创建、列运算、条件筛选、排序和聚合等操作。
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)