📌  相关文章
📜  如何将多个 CSV 文件合并到一个 Pandas 数据框中?

📅  最后修改于: 2022-05-13 01:55:15.189000             🧑  作者: Mango

如何将多个 CSV 文件合并到一个 Pandas 数据框中?

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

使用的文件:

第一个 CSV –

第二个 CSV –



第三个 CSV –

方法一:按名称合并

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

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

方法:

  • 首先,我们导入 Pandas。
  • 使用pd.read_csv() (函数), map函数读取我们传递的所有 CSV 文件(可迭代对象) 。现在, pd.concat()将这些映射的 CSV 文件作为参数,并沿行轴(默认)将它们拼接在一起。如果我们希望沿列水平合并它们,我们可以传递axis=1 。此外, ignore_index = True为合并的数据帧设置连续索引值。
  • 下面给出的图像显示了 mydata.csv、mydata1.csv 和合并的数据框。

例子:

Python3
# 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)


Python3
# 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)


输出:



方法二:全部合并

方法:

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

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

例子:

蟒蛇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)

输出: