Menu
CoddyTech

选择列

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

大多数问题都只涉及一列:平均体重、最高的狗。把列名放在方括号中,就能选中它:

狗的数据表以网格形式呈现,包含 name、kg 和 cm 列;kg 列高亮显示,并标注为 dogs kg,即一个 Series,其他列则淡化显示

dogs = pd.DataFrame({
    "name": ["Max", "Luna", "Bo", "Kira"],
    "kg": [30, 8, 22, 12],
    "cm": [61, 30, 55, 40],
})
print(dogs["kg"])
print(dogs["kg"].mean())

这会打印一个以其列命名的 Series,然后打印平均重量:

0    30
1     8
2    22
3    12
Name: kg, dtype: int64
18.0

要选择多列,请在方括号中放入名称列表。这样会得到一个较小的 DataFrame,其中的列按你指定的顺序排列:

print(dogs[["name", "cm"]])

这会打印:

   name  cm
0   Max  61
1  Luna  30
2    Bo  55
3  Kira  40

选择列可以让模型之后准确获取它应该学习的特征。

challenge icon

挑战

中等

一个评测网站将 phones.csv 读入 phones,其中包含 model、price、battery_h(小时)和 weight_g 这些列。程序会将一个列名读入 column。

  1. 打印一个表格的前 3 行,表格中只包含 model 和该列。
  2. 按下面的格式打印它的最小值、最大值和平均值,并将平均值四舍五入到 1 位小数。

对于手表表格和 strap_mm 这一列:

     model  strap_mm
0     Orca        20
1  Quartzy        18
2     Brio        22
strap_mm: from 16 to 24, average 20.4

亲手试试

import pandas as pd

phones = pd.read_csv("phones.csv")
column = input()

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

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

数据与图表中的所有课

自己练习: Python 在线编译器