如何使用Python Pandas的模板将新行附加到DataFrame中
如何使用Python Pandas的模板将新行附加到DataFrame中。
介绍
作为数据工程专家,我经常创建比行更多的派生列,因为创建并发送数据供其他数据库专家分析的角色应由其他人承担,但并非始终如此。
我们必须创建样本行,而不是等待数据专家团队向我们发送数据。在本主题中,我将展示创建行的巧妙技巧。
更多Pandas文章,请阅读:Pandas教程
如何实现
在这个示例中,我们将首先使用.loc属性向一个小数据集添加行,然后使用.append方法。
1.让我们首先创建一个数据框以后再添加行。
例如
输出
例如
1. 现在让我们使用.loc属性将新球员“Dominic Theim”添加到数据框中。
输出
1. 使用相同的.loc属性,让我们将新行添加到数据框的末尾。这里我将展示如何将字典添加到数据框中。
输出
1. 我们还可以将包含数据的pandas系列添加到数据框中。
输出
结论
我们使用.loc方法在上述4个步骤中添加了数据。 .loc属性会对数据框做出修改。
在接下来的几个步骤中,我们将看一下.append方法,它不会修改调用数据框,而是返回带有附加行的数据框的新副本。
.append的第一个参数必须是另一个数据框,序列,字典或列表。
例如
当我尝试添加字典时,它引发了一个异常,要求我们使用参数 ignore_index=True。因此,请让我添加此建议的参数并查看它的作用。
输出
当我使用 ignore_index=True 参数后,你通过输出观察发现了什么?没错,当 ignore_index 设置为 True 时,旧索引将被完全删除并替换为从0到 n-1 的 RangeIndex。
.append 方法在您希望将许多行一次性添加到 DataFrame 中时非常有用。
输出
好的,现在您已经了解了如何添加行的基础知识,我们将深入研究如何在具有多列的数据框中添加行。
输出
示例
来自 Google 的数据集有12列,如果您手动输入新数据行,很容易发生将列名拼错或者完全遗漏某列的情况。那么我们如何避免这个问题呢?好的,有一种方法,就是创建一个列名的模板。
输出:
因此,您现在可能明白,我们已经将第一行转换为一个字典。 好的,我们已经得到了列和值,现在让我们用一个字典推导式清除旧的值,将任何以前的字符串值分配为空字符串,所有其他值都分配为缺失值。
这个字典现在可以作为任何您想要输入的新数据的模板。