Data used for this tutorial:
  • 本教程使用了 \(NO_2\) 提供,并使用 OpenAQ 包提供的关于 py-openaq 的空气质量数据。air_quality_no2.csv 数据集分别提供了巴黎、安特卫普和伦敦的测量站 FR04014BETR801London Westminster\(NO_2\) 值。

    To raw data

如何创建由现有列派生出的新列#

../../_images/05_newcolumn_1.svg
  • 我想将伦敦站点 \(NO_2\) 的浓度表示为 mg/m\(^3\)

    (假设温度为 25 摄氏度,压力为 1013 hPa,则转换系数为 1.882)

    要创建新列,请在赋值的左侧使用带有新列名称的 [] 方括号。

备注

值的计算是 逐元素 进行的。这意味着给定列中的所有值会一次性乘以 1.882。您无需使用循环来迭代每一行!

../../_images/05_newcolumn_2.svg
  • 我想检查巴黎与安特卫普的数值比率,并将结果保存在新列中。

    计算同样是逐元素的,因此 / 是*逐行应用数值*。

其他数学运算符(+-*/ 等)或逻辑运算符(<>== 等)也是逐元素应用的。后者已在 subset data tutorial 中用于通过条件表达式过滤表的行。

如果您需要更高级的逻辑,可以通过 apply() 使用任意 Python 代码。

  • 我想将数据列重命名为 OpenAQ 使用的相应站点标识符。

    :meth:`~DataFrame.rename 函数可用于行标签和列标签。提供一个字典,其中键是当前名称,值是新名称,以更新相应的名称。

映射不应仅限于固定名称,也可以是映射函数。例如,使用函数也可以将列名转换为小写字母:

To user guide

有关列或行标签重命名的详细信息,请参阅用户指南的 renaming labels 部分。

REMEMBER

  • 通过将输出分配给 DataFrame 并将新列名放在 [] 之间来创建新列。

  • 操作是逐元素的,无需逐行循环。

  • 使用 rename 结合字典或函数来重命名行标签或列名。

To user guide

用户指南包含一个关于 column addition and deletion 的独立部分。