我已经搜索了问题“如何逐行构建数据框”的十几个变体,但没有一个解决方案对我有用。因此,尽管这是一个经常被问到的问题,但我的案例是独一无二的,足以成为一个有效的问题。我认为问题可能是我从不同的 csv 中获取每一行。这段代码表明我在循环中成功地制作了数据框:
onlyfiles = list_of_csvs
for idx, f in enumerate(onlyfiles):
row = pd.read_csv(mypath + f,sep="|").iloc[0:1]
但是这些行是单独的数据帧,不能组合(到目前为止)。我尝试了以下方法:
df = pd.DataFrame()
for idx, f in enumerate(onlyfiles):
row = pd.read_csv(path + f,sep="|").iloc[0:1]
df.iloc(idx) = row
哪个返回
df.loc(idx) = row
^
SyntaxError: can't assign to function call
我认为问题在于每一行或数据帧都有自己的标题。我也尝试过df.loc(idx) = row[1],但这也不起作用(我们抓住的地方row[:] when idx = 0)。两者都iloc(idx) or loc(idx)不起作用。
最后,我想要一个数据帧,它具有第一个数据帧的标题(列名),然后是 n 行,其中 n 是文件数。