1. Nauka
  2. /
  3. Kursy
  4. /
  5. Python 中级

Connected

ćwiczenie

添加列(2)

使用 iterrows() 遍历 pandas DataFrame 的每一条观测容易理解,但效率不高。每次迭代都会创建一个新的 pandas Series。

如果您想通过对另一列调用函数来为 DataFrame 添加一列,将 iterrows() 与 for 循环组合并不是首选做法。更好的方式是使用 apply()。

对比在 brics DataFrame 中得到相同结果的 iterrows() 版本和 apply() 版本:

for lab, row in brics.iterrows() :
    brics.loc[lab, "name_length"] = len(row["country"])

brics["name_length"] = brics["country"].apply(len)

我们也可以用类似的方法对 country 列中的每个名称调用 upper() 方法。不过,upper() 是一个方法,因此需要稍作调整:

Instrukcje

100 XP
  • 用一行 .apply(str.upper) 来替换 for 循环。结果应相同:在 cars 中添加一列 COUNTRY,其内容为国家名称的大写形式。
  • 和往常一样,打印 cars,查看您的成果。