Menu
CoddyTech

选择行

本课属于 Coddy Machine Learning 学习旅程的“数据与图表”单元。第 37 课,共 60 课。

本章以商店的畅销商品作为结尾,筛选方式如下:

商店中 6 种商品及其类别和收入的表格,厨房用品所在的行淡化显示,并用箭头指向按收入排名前 3 的园艺用品:水管 1500,种子 800,耙子 600

从一行、一个样本开始。pandas 有两种方式可以访问它:iloc从 0 开始按位置计数,就像列表一样;loc则使用标签:

行星表格以网格形式呈现,行标签分别为水星、地球、火星和木星,旁边标有 0 到 3 的位置;地球行标记为 loc Earth,按标签访问,火星行标记为 iloc 2,按位置访问

planets = pd.DataFrame(
    {"moons": [0, 1, 2, 95], "diameter_km": [4879, 12756, 6792, 142984]},
    index=["Mercury", "Earth", "Mars", "Jupiter"],
)
print(planets.iloc[2])
print(planets.loc["Earth"])

这会打印两行,每行都是一个按列标记的 Series:

moons             2
diameter_km    6792
Name: Mars, dtype: int64
moons              1
diameter_km    12756
Name: Earth, dtype: int64

为单元格添加列名:planets.loc["Jupiter", "moons"] 的值是 95。iloc[-1] 是最后一行。

从 CSV 文件读取的表中,标签与位置一一对应,直到对行进行筛选或排序。

challenge icon

挑战

中等

一场 10 km 比赛的结果保存在 race.csv 中,每行记录一名选手,按完赛顺序排列,列包括 runner、club 和 minutes。程序会将其加载到 race 中,并读取一个 place,其中 1 表示冠军。

  1. 打印该名次的完赛选手。
  2. 打印该选手的用时。
  3. 打印最后一名完赛的选手。

对于另一场比赛和名次 2:

Place 2: Ola Berg
Time: 51.5 minutes
Last: Kim Ito

亲手试试

import pandas as pd

race = pd.read_csv("race.csv")
place = int(input())

# 在下方编写你的代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

数据与图表中的所有课

自己练习: Python 在线编译器