gpt4 book ai didi

python - 如何 append 多个 CSV 文件并创建多索引数据框

转载 作者:行者123 更新时间:2023-12-01 00:33:19 26 4
gpt4 key购买 nike

我的文件夹中有多个 csv 文件。目标是将 csv 文件 append 到单个 pd 框架中。

问题是我们如何使用pandas连接文件夹中的所有文件,同时使用keys参数将特定的键与切碎的DataFrame的每个部分相关联:keys .

这意味着我们现在可以通过键选择每个 block :

例如,给定文件夹中的两个 csv 文件,每个 csv 有 3 列(A、B、C)和两行。

CSV 文件:Book1

A0 B0 C0

A1 B1 C1

CSV 文件:Book2

A2 B2 C2

A3 B3 C3

预期帧如图所示。

enter image description here

请注意左列上的索引 Book1 和 Book2。该名称来自上述 csv 文件。

到目前为止,我有以下代码

# match the pattern ‘csv’ in the folder
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]

但是我需要更改以下代码行中的哪些位置才能实现上述目标?

combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])

之所以添加这个键,是为了以后方便访问。这通常可以通过以下方式实现

.loc['Book1']

最佳答案

您可以使用分配方法向每个数据帧添加额外的列;这可以在读取它们之后和连接之前完成

combined_csv = pd.concat([pd.read_csv(f).assign(name=f) for f in all_filenames ])

这将添加 name 列,其中所有值都等于文件名 f

当所有数据集串联时,可以设置MultiIndex

combined_csv.reset_index(drop=True, inplace=True)

combined_csv.set_index([combined_csv.name, combined_csv.index], inplace=True)

关于python - 如何 append 多个 CSV 文件并创建多索引数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58011836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com