553 字
3 分钟
数据分析|DataFrame的访问

19.1 按行列访问(loc、iloc、at、iat)
沿用前两节的 DataFrame:
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.loc[4]) # 按标签取第4行print(df.iloc[3]) # 按位置取第4行(索引从0开始)输出:
name alicescore 30.6age 20Name: 4, dtype: objectname alicescore 30.6age 20Name: 4, dtype: object访问某列:
print(df.loc[:, 'name']) # 所有行的 name 列print(df.iloc[:, 0]) # 所有行的第1列输出:
1 tom2 tom3 jack4 alice5 bob6 allenName: name, dtype: object1 tom2 tom3 jack4 alice5 bob6 allenName: name, dtype: object访问单个元素:
print(df.at[3, 'score']) # 标签访问print(df.iat[2, 1]) # 位置访问(第3行第2列)print(df.loc[3, 'score']) # loc 同样可访问单个元素print(df.iloc[2, 1]) # iloc 同样可访问单个元素输出:
80.080.080.080.019.2 获取单列与多列
获取单列(返回 Series):
print(df['name'])print(type(df['name'])) # <class 'pandas.core.series.Series'>print(df.name) # 也可通过属性方式访问输出:
1 tom2 tom3 jack4 alice5 bob6 allenName: name, dtype: object<class 'pandas.core.series.Series'>1 tom2 tom3 jack4 alice5 bob6 allenName: name, dtype: object获取多列(返回 DataFrame):
print(df[['name', 'score']])print(type(df[['name', 'score']])) # <class 'pandas.core.frame.DataFrame'>输出:
name score1 tom 60.52 tom 60.53 jack 80.04 alice 30.65 bob 70.06 allen 83.5<class 'pandas.core.frame.DataFrame'>要点: df['col'] 返回 Series,df[['col1', 'col2']](双层方括号)返回 DataFrame。
19.3 数据预览与筛选
查看部分数据:
print(df.head(2)) # 前2行print(df.tail(3)) # 后3行输出:
name score age1 tom 60.5 152 tom 60.5 15 name score age4 alice 30.6 205 bob 70.0 266 allen 83.5 30布尔索引筛选:
print(df[df.score > 70]) # 单条件print(df[(df.score > 70) & (df.age < 20)]) # 多条件(与)输出:
name score age3 jack 80.0 156 allen 83.5 30 name score age3 jack 80.0 15随机抽样:
print(df.sample(3)) # 随机抽取3行输出(结果随机):
name score age6 allen 83.5 301 tom 60.5 154 alice 30.6 2019.4 本节小结
本节完成了以下内容:
- 掌握了
loc(按标签)、iloc(按位置)、at、iat四种索引器的用法。 - 理解了单列(
df['col']返回 Series)与多列(df[['c1', 'c2']]返回 DataFrame)的区别。 - 学会了
head()、tail()预览、布尔索引多条件筛选(&/|)、sample()随机抽样。
下一节我们将学习 DataFrame 的常用方法。
数据分析
连载中数据分析|DataFrame的访问
https://luq-blog.xyz/posts/2026-07-04-data-notes-19-df-access/分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 92 天
部分内容可能已过时
评论