首页 >后端开发 >Python教程 >如何组合 For 循环中生成的 Pandas DataFrame:综合解决方案

如何组合 For 循环中生成的 Pandas DataFrame:综合解决方案

Barbara Streisand
Barbara Streisand原创
2024-10-30 14:01:02381浏览

How to Combine Pandas DataFrames Generated in a For Loop: A Comprehensive Solution

组合在 For 循环中生成的 Pandas DataFrame:综合解决方案

在数据操作方面,Pandas 提供了一套强大的工具用于处理结构化数据。一项常见任务是合并来自多个来源的数据。实现此目的的一种方法是在 for 循环中生成数据帧,然后附加它们以创建统一的数据帧。

要附加在 for 循环中生成的数据帧,您需要使用与你尝试过的一个。您提供的代码:

appended_data = pandas.DataFrame.append(data) # requires at least two arguments

需要至少两个数据帧作为参数,这不适合逐一附加多个数据帧。相反,我们可以使用 pd.concat 将数据帧列表合并为一个更大的数据帧。

这是一个改进的解决方案:

<code class="python">appended_data = []
for infile in glob.glob("*.xlsx"):
    data = pandas.read_excel(infile)
    # Store each dataframe in a list
    appended_data.append(data)
# Concatenate the list of dataframes into a single dataframe
appended_data = pd.concat(appended_data)
# Write the resulting dataframe to a new Excel file
appended_data.to_excel('appended.xlsx')</code>

在此修改后的代码中:

  1. 我们创建一个空列表append_data来存储各个数据帧。
  2. 在循环内,我们将每个Excel文件读入数据帧并将其附加到此列表中。
  3. 使用 pd. concat,我们将列表中的所有数据帧合并到一个名为append_data的数据帧中。
  4. 最后,我们将附加数据帧写入名为“append.xlsx”的新Excel文件。

这种方法可确保循环中生成的所有数据帧合并为单个数据帧,为您提供统一的数据集。

以上是如何组合 For 循环中生成的 Pandas DataFrame:综合解决方案的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn