【发布时间】:2020-08-07 23:17:59
【问题描述】:
我有多个 .csv 文件。它们具有相同的列大小但不同的行数。我想制作一个第三维显示每个文件的数据框。我尝试读取每个文件并将其保存到数据框,然后将它们附加到列表中,但是当将列表转换为数据框时,输出是二维数据框(如果我们有 5 个文件,则输出是 (5, 1) 数据框)。
path = "Something"
filelist = os.listdir(Path)
print(filelist)
all_csv_files = []
for x in filelist:
df = pd.read_csv(Path + "\\" + x)
all_csv_files.append(df)
dataset = pd.DataFrame(all_csv_files)
dataset.shape
还尝试读取每个文件并将其保存到一个 numpy 数组并堆叠它们(np.stack),但数组的大小不同。 pandas.Panel 也已弃用。
例如,如果我们有 2 个 csv 文件,如第一个是:
a,b,c,d
a,b,d,c
b,x,y,z
第二个是:
1,2,3,4
2,3,5,4
我想输出如下:
[
[[a,b,c,d],[a,b,d,c],[a,x,y,z]],
[[1,2,3,4],[2,3,5,4], [Nan, Nan, Nan, Nan]]
]
即 (2,3,4)。
我宁愿不填nan,但如果没有办法也可以。
【问题讨论】: