Pandas 在 for 循环中生成的 dataframe 进行合并

您所在的位置:网站首页 何冰在一起 Pandas 在 for 循环中生成的 dataframe 进行合并

Pandas 在 for 循环中生成的 dataframe 进行合并

2024-07-16 14:48| 来源: 网络整理| 查看: 265

Pandas 在 for 循环中生成的 dataframe 进行合并

在数据分析中,有时需要将多个 dataframe 合并成一个,就需要用到 Pandas 库中的 concat 或者 append 函数。在某些情况下,我们需要在 for 循环中,逐步获取数据并将每个小 dataframe 逐个合并成一个较大的 dataframe。本文将介绍如何使用 Pandas 中的 append 函数,实现 for 循环内多个 dataframe 的逐步合并。

阅读更多:Pandas 教程

生成 Small DataFrame

我们将首先以示例方式在 for 循环中生成几个小 dataframe:

import pandas as pd import numpy as np # 定义一个空的 dataframe df = pd.DataFrame() # 使用 for 循环生成三个小 dataframe for i in range(3): # 生成 3 行 2 列的随机数 dataframe temp_df = pd.DataFrame(np.random.randn(3, 2)) df = df.append(temp_df) # 输出结果 print(df)

这里,我们首先定义一个空的 dataframe df,然后在 for 循环中,生成 3 个每个都有 3 行 2 列的 dataframe。我们将每个新生成的小 dataframe 追加到主 dataframe df 中,最后输出结果。

这是输出的结果:

0 1 0 -0.320174 -1.574903 1 -0.082874 0.726821 2 0.990899 0.555164 0 0.466403 0.838717 1 -0.971818 -0.335975 2 0.919537 0.280364 0 -1.322064 0.187607 1 -0.117047 -0.446846 2 -2.038213 1.156064

我们可以看到,新生成的小 dataframe 分别在 df 的下方相继追加,并形成了一个较大的 dataframe。

使用 Python List 进行逐步合并

为了更深入的理解 append 函数的使用方法,我们可以使用 Python List 先将数据收集起来,再使用 Pandas 的 append 函数进行合并。用例子来说明:

import pandas as pd import numpy as np # 定义一个空的 list dfs = [] # 使用 for 循环生成三个小 dataframe 并加入到 list 中 for i in range(3): # 生成 3 行 2 列的随机数 dataframe temp_df = pd.DataFrame(np.random.randn(3, 2)) dfs.append(temp_df) # 使用 concat 函数将 list 中的 dataframe 逐个合并成一个 df = pd.concat(dfs) # 输出结果 print(df)

这里,我们首先定义一个空的 list dfs,在 for 循环中,生成 3 个每个都有 3 行 2 列的 dataframe,将每个新生成的小 dataframe 追加到 list dfs 中。最后,我们将 list dfs 中的数据逐个合并成一个新的 dataframe df。

这是输出的结果:

0 1 0 0.343550 1.964070 1 -0.423888 -0.150231 2 -0.001182 -1.026652 0 -0.121498 0.802426 1 -0.064473 0.763655 2 -0.503633 0.154764 0 -0.975068 -2.016786 1 1.015142 -0.209288 2 -0.781382 -0.240853

我们可以看到,新生成的小 dataframe 分别在新的 dataframe df 的下方相继追加,并形成了一个较大的 dataframe。

使用 append 函数逐步合并

Pandas 中的 append 函数也可以实现之前我们使用的 Python List 的方式。改写以上代码:

import pandas as pd import numpy as np # 定义一个空的 dataframe df df = pd.DataFrame() # 使用 for 循环生成三个小 dataframe 并加入到主 dataframe df 中 for i in range(3): # 生成 3 行 2 列的随机数 dataframe,并将其追加到主 dataframe df 中 temp_df = pd.DataFrame(np.random.randn(3, 2)) df = df.append(temp_df) # 输出结果 print(df)

以上代码与最初的示例相同,只是我们用了 append 函数来合并 dataframe。

这是输出的结果:

0 1 0 1.034431 -0.113274 1 -0.972332 1.399338 2 0.171920 -1.079661 0 0.722176 0.069692 1 1.369664 -0.502429 2 0.179894 -0.872476 0 0.318877 1.172474 1 -0.268064 -0.722245 2 0.994986 0.967590

我们可以看到,新生成的小 dataframe 分别在新的 dataframe df 的下方相继追加,并形成了一个较大的 dataframe。

总结

在数据分析中,合并多个 dataframe 是很常见的操作,特别是在 for 循环中逐步生成的情况下。本文介绍了如何使用 Pandas 中的 append 函数逐步合并多个 dataframe,并给出了示例代码。同时,我们也看到了使用 Python List 先将数据收集起来,再使用 Pandas 的 concat 函数进行合并的方式。无论是哪种方式,都是很实用的数据合并方法,不同需求需要不同的方法来完成。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3