我有一个函数,可以给我一个数据帧olddataframe
作为循环输出,我想通过附加将它们组合为一个newdataframe
的单个数据帧,并尝试了以下代码
newdataframe=pd.DataFrame
newdataframe.append(olddataframe,ignore_index=False)
它会引发如下错误
TypeError: append() missing 1 required positional argument: 'other'
需要做些什么来解决这个问题
答案 0 :(得分:1)
在第一行中使用newdataframe=pd.DataFrame()
。
通过使用newdataframe=pd.DataFrame
并没有创建数据框,而是为DataFrame创建了新名称,所以您写的是pd.DataFrame.append(olddataframe,ignore_index=False)
,而错误是因为append
函数需要2个DataFrame,而不是1。
答案 1 :(得分:1)
如果性能很重要,我建议先创建list of DataFrame
个,然后再创建concat
一次。
dfs = []
for olddataframe in data:
#data processing
dfs.append(olddataframe)
newdataframe = pd.concat(dfs, ignore_index=False)