如何将多个CSV文件合并到一个Pandas数据框中
在数据分析过程中使用CSV文件时,我们经常要处理大型数据集。有时,可能一个CSV文件并不包含你需要的所有数据。在这种情况下,需要将这些文件合并成一个单一的数据框架。幸运的是,Pandas库为我们提供了各种方法,如合并、串联和连接,使之成为可能。通过下面的例子,我们将学习如何使用Pandas合并CSV文件。
使用的文件:
第一个CSV –
第二份CSV-
第三个CSV-
方法1:按名称合并
让我们首先了解上面给出的程序中使用的每一种方法。
- pd.concat()。 该方法将提供的数据集沿着行axis或列axis进行缝合。它接受数据框架对象作为参数。除此之外,它还可以接受其他参数,如坐标axis、忽略指数等。
- map(function, iterable)。它为iterables中的每一项执行指定的函数。在上面的例子中,pd.read_csv()函数被应用于给定列表中的所有CSV文件。
步骤:
- 首先,我们导入Pandas。
- 使用pd.read_csv()(该函数),映射函数读取了我们传递的所有CSV文件(iterables)。现在,pd.concat()将这些映射的CSV文件作为一个参数,并将它们沿着行axis(默认)缝合起来。如果我们希望沿着列的方向水平合并,我们可以传递axis=1。此外,ignore_index = True为合并后的数据框架设置连续的索引值。
- 下面给出的图片显示了mydata.csv、mydata1.csv和合并的数据框架。
示例:
输出:
方法2:合并所有
步骤:
- os.path.join()把文件路径作为第一个参数,把要加入的路径组件作为第二个参数。” mydata*.csv有助于返回home目录中以 “mydata “开头、以.CSV结尾的每个文件(使用通配符*)。
- glob.glob()接收这些连接的文件名并返回所有这些文件的列表。在这个例子中,mydata.csv , mydata1.csv , __ 和 mydata2.csv 被返回。
- 现在,就像前面的例子一样,这个文件列表被映射,然后被串联起来。
我们可以简单地把这三行代码写成。
示例:
输出: