DataFrame 就地修改 return 值

DataFrame inplace modification with return value

我正在阅读 Wes McKinney 的 'python for data analysis' 并看到了以下代码

# Always returns a reference to a DataFrame
_ = data.rename(index={'Ohio':'Indiana'}, inplace=True)

是否有理由将就地更改设置为 _

我们用_来表示一个我们不关心的值。这是惯例。 inplace 参数将更改 data 当前指向的对象以及 rename 方法 return 对它的另一个引用。此语句是从 rename 中获取 return 值并将其分配给 _,表明我们将丢弃它。这无关紧要,因为我们已经有了一个变量,即 data,它会因为 inplace=True.

而得到结果。

根据 jezrael 的评论。 renameinplace=True returns None 使得分配给 _.

完全无关

所以你的问题的答案是,不。

_ 通常用于标记我们不关心 about/don 不想使用的变量。

当您提取元组并且不关心所有值时,这通常更有意义,例如

a, _ = (1, 2)  # pulls out a == 1

在这种情况下,只有一个值,没有理由这样做。您可以安全地将此代码清理为:

data.rename(index={'Ohio':'Indiana'}, inplace=True)

我怀疑这是来自的重构:

data = data.rename(index={'Ohio':'Indiana'})

这将使评论 "Always returns a reference to a DataFrame" 有意义(当您使用 inplace 它 returns None 而不是 DataFrame 时!)。