PY / LAB 基础实验 09
A SMALL MACHINE FOR BIG IDEAS

一张成绩表,
几行代码就能看清楚。

选一个预设示例:看 pandas 选中了哪些行和列、返回了什么样的表,
再用 Matplotlib 把结果画成折线、柱状、散点、饼图和直方图。所有结果都来自真实的 pandas 与 Matplotlib。

FIG. 09 / DATAFRAME SORTERPandas 数据分拣台
PANDAS·LAB
← → 单步 · 空格 播放/暂停 · PgDn 下一个示例正在校准
高亮格 = 这次操作用到的单元格

左侧是读入的 DataFrame:第一排是列名,左边小字是行索引,NaN 表示缺失值。后方滑块指向选中的列,左侧滑块指向选中的行(没有选择时变暗)。右侧托盘显示操作返回的结果:表格、Series 或一个值。作图示例的图由 Matplotlib 实际绘制,显示在下方。

准备—
FIELD NOTES

把规则带走

01 / DataFrame

二维表格 = 行索引 + 列名

pd.read_csv('文件.csv') 读入表格。head() 看前几行,shape 看行列数,dtypes 看每列类型,describe() 看数字列的统计概览。

df['列'] 取一列得到 Series,df[['列1', '列2']] 取多列得到 DataFrame。缺失值显示为 NaN,用 isna() 查找、fillna() 填补、dropna() 删除。

02 / 筛选与统计

布尔筛选、排序、分组

df[df['数学'] >= 90] 按条件筛选行,多个条件用 &、| 并给每个条件加括号。loc[行标签, 列名] 按标签取,iloc 按位置取。sort_values('列', ascending=False) 排序。

mean()、sum()、max() 按列统计;value_counts() 计数;groupby('班级')['数学'].mean():先分组,再对每组计算。这些操作都返回新对象,原表不变(新增列除外)。

03 / Matplotlib

选对图,再加标题和标签

fig, ax = plt.subplots() 得到画布和坐标轴。趋势用折线 ax.plot,比较类别用柱状 ax.bar,看两个量的关系用散点 ax.scatter,看占比用饼图 ax.pie,看分布用直方图 ax.hist。

记得 set_title、set_xlabel、set_ylabel,多条线用 label + legend()。df.plot(kind='bar') 可以直接从 pandas 画图。显示中文需要设置中文字体,在脚本中最后用 plt.show() 显示或 savefig 保存。