使用 For 循环在 Pandas 中追加数据帧

Pandas 是 Python 中一个功能强大的库,提供了可以对数据集执行的广泛操作列表。在本文中,我们将探索如何使用 for 循环向现有数据帧添加新实体。我们将利用一组以表格格式提供的字符串,并使用以下每种技术添加附加信息。

  • 附加带有文本值的数据框
  • 附加带有数值的数据框

您可以使用 for 循环在 Pandas 中附加文本和数值的数据帧。对于文本值,创建一个字符串列表并迭代该列表,将所需的字符串附加到每个元素。对于数值,创建一个每列中具有特定范围的数据帧,然后使用 for 循环将其他行添加到数据帧中,其中包含基于循环索引的计算值。

在开始使用任何这些技术之前,应该首先使用以下代码导入pandas库。

import pandas as pd

方法一:附加带有文本值的数据框

该技术应处理包含文本值的数据帧,如下所示。

names_list = ['Stark', 'Banner', 'Rogers', 'Scott']

是的!你猜对了。本部分向最初的复仇者联盟——地球上最强大的超级英雄致敬。为了存储结果,让我们创建一个标题为“Avengers”的空白列表,如下所示。

Avengers = [ ]

通过for 循环搅动的附加输出将存储在该列表中。现在是关键部分,其中for 循环将用于迭代列表并将附加详细信息附加到现有值并将其作为结果返回。因此,我们将输入名称列表中的每个元素声明为一个值,然后指定要添加到该值的字符串,如下面的代码所示。

for value in names_list:
    dataframe_values = 'Mr. '+value
    Avengers.append(dataframe_values)

循环构建之后,是时候将我们的注意力转向输出数据帧,其中包含列表中给出的每个人的超级英雄名称。

df = pd.DataFrame(Avengers, columns=['Name'],index=['Ironman','Hulk','Captain','Antman'])

最后,我们可以打印通过for 循环迭代的输出值,以添加“Mr.” 在所有名字的前面。

print("Super heros:\n",df,"\n")
用于打印结果的输出数据框
使用For 循环附加数据帧

方法二:向数据框添加数值

只触及数据框的文本方面并将数字数据抛到九霄云外是不公平的。该方法是通过将附加数字附加到用范围指定的输入数据帧的已可用实体来公正地对待上述陈述。所有这些都应借助for 循环来完成。

因此,让我们开始构建输入数据帧,第一列中的数字范围为 2 到 8,第二列中的数字范围为 12 到 18,第三列中的数字范围为 22 到 28。此外,每列应定义为 x、y 和 z,如下所示。

data = pd.DataFrame({'x':range(2, 8),
'y':range(12, 18),
'z':range(22, 28)})
构建的输入数据框

现在让我们使用print命令查看输出

查看输入数据框

从上图可以明显看出,结果是一个 3 列 6 行的表格。现在让我们部署for 循环以包含另外三行,以便输出为 3×9 的形式。对于这三个附加行,使用的基本原理是将范围中指定的每个“i”的值乘以 2,如下所示。

for i in range(7, 10):
    data.loc[len(data)] = i * 2
构造For 循环以附加输入数据帧

现在使用打印命令查看最终结果,并返回包含相乘值的另外三行。

print(data)
数据框附加了三个新行

结论:

现在我们已经到了本文的结尾,希望它已经详细说明了可用于使用for 循环从Pandas库附加数据帧的不同技术这是另一篇文章,详细介绍了如何在 Python 中提取两个子字符串之间的字符串AskPython中还有许多其他有趣且内容丰富的文章  ,可能对那些希望提高 Python 水平的人有很大帮助。 

当您继续探索 Pandas 的功能时,请考虑如何使用这些技术来操纵和分析您自己的数据。还有哪些其他场景可以从以这种方式附加数据帧中受益?


参考: