如何将多个 CSV 文件合并成一个 Pandas 数据帧?

原文:https://www . geeksforgeeks . org/如何将多个-CSV-文件合并为单个-pandas-dataframe/

在数据分析过程中处理 CSV 文件时,我们经常需要处理大型数据集。有时,单个 CSV 文件可能不包含您需要的所有数据。在这种情况下,需要将这些文件合并到一个数据框中。幸运的是,熊猫库为我们提供了各种方法,如合并、串联和连接,使这成为可能。通过下面给出的例子,我们将学习如何使用 Pandas 组合 CSV 文件。

使用的文件:

第一个猪瘟病毒–

第二个猪瘟病毒–

第三种猪瘟病毒–

方法 1:按名称合并

让我们首先了解上面给出的程序中使用的每种方法:

  • PD . concat():该方法沿行轴或列轴缝合提供的数据集。它将 dataframe 对象作为参数。除此之外,它还可以采用其他参数,如 axis、ignore_index 等。
  • map(function,iterable): 它为 iterable 中的每个项目执行指定的函数。在上面的例子中, pd.read_csv() 函数被应用于给定列表中的所有 csv 文件。

*进场:*

  • 首先,我们进口熊猫。
  • 使用 pd.read_csv() (函数),map 函数读取我们已经通过的所有 csv 文件(ITER ables)。现在, pd.concat() 将这些映射的 CSV 文件作为参数,并沿着行轴将它们缝合在一起(默认)。如果我们希望沿着列水平合并它们,我们可以通过轴=1 。此外,忽略 _ 索引=真为合并的数据帧设置连续的索引值。
  • 下面给出的图像显示了 mydata.csv、mydata1.csv 和合并的 dataframe。

*示例:*

Python 3

# importing pandas
import pandas as pd

# merging two csv files
df = pd.concat(
    map(pd.read_csv, ['mydata.csv', 'mydata1.csv']), ignore_index=True)
print(df)

*输出:*

*方法二:合并所有*

*进场:*

  • os.path.join() 以文件路径为第一个参数,以要连接的路径组件为第二个参数。”我的数据。csv 有助于返回主目录中以“mydata”开头和结尾的每个文件。CSV(使用通配符)。
  • *glob.glob() 获取这些连接的文件名,并返回所有这些文件的列表。在本例中,返回 mydata.csvmydata1.csvmydata2.csv* 。
  • 现在,就像前面的例子一样,这个文件列表被映射然后连接。

我们可以简单地将这三行代码写成:

df = pd.concat(map(pd.read_csv,glob.glob(os.path.join("/home "," mydata*)。csv "))、忽略 _ 索引=真)

*示例:*

Python 3

# importing libraries
import pandas as pd
import glob
import os

# merging the files
joined_files = os.path.join("/home", "mydata*.csv")

# A list of all joined files is returned
joined_list = glob.glob(joined_files)

# Finally, the files are joined
df = pd.concat(map(pd.read_csv, joined_list), ignore_index=True)
print(df)

*输出:*