Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 一次附加多个数据帧_Python_Pandas_Append - Fatal编程技术网

Python 一次附加多个数据帧

Python 一次附加多个数据帧,python,pandas,append,Python,Pandas,Append,我试图找到一种方法,一次附加多个pandas数据帧,而不是使用 df.append(df) 假设有5个数据帧t1,t2,t3,t4,t5。如何一次附加它们?相当于 df = rbind(t1,t2,t3,t4,t5) 您是否尝试过使用列表作为append的参数?还是我遗漏了什么 import numpy as np import pandas as pd dates = np.asarray(pd.date_range('1/1/2000', periods=8)) df1 = pd.Da

我试图找到一种方法,一次附加多个pandas数据帧,而不是使用

df.append(df)
假设有5个数据帧
t1
t2
t3
t4
t5
。如何一次附加它们?相当于

df = rbind(t1,t2,t3,t4,t5)

您是否尝试过使用列表作为append的参数?还是我遗漏了什么

import numpy as np
import pandas as pd

dates = np.asarray(pd.date_range('1/1/2000', periods=8))
df1 = pd.DataFrame(np.random.randn(8, 4), index=dates, columns=['A', 'B', 'C', 'D'])
df2 = df1.copy()
df3 = df1.copy()
df = df1.append([df2, df3])

print df
我认为你可以使用:

也许你可以忽略索引:

print pd.concat([t1, t2, t3, t4, t5], ignore_index=True)
更多信息请参见。

#行追加

combined_data = pd.concat([t1, t2, t3, t4, t5], axis=0)
combined_data = pd.concat([t1, t2, t3, t4, t5], axis=1)
这将把一个数据帧堆叠在另一个数据帧上

#列式追加

combined_data = pd.concat([t1, t2, t3, t4, t5], axis=0)
combined_data = pd.concat([t1, t2, t3, t4, t5], axis=1)

这将在第一个数据框的右侧附加第二个数据框

假设我们有一个主Excel文件,其中有三个子表,命名为
p1
p2
&
p3

我们可以一起阅读所有表格,如下所示:

d = pd.read_excel('p1.xlsx',sheet_name=['p1','p2','p3'])
现在,要将所有图纸合并到一个数据框中,我们可以使用以下内容:

df=pd.concat(d[frame] for frame in d.keys())

如果您希望它们通过某个值合并,比如在第一列中,您也可以这样做:
pd.concat([t1,t2,t3,t4,t5],axis=1)
pd.concat([t1,t2,t3,t4,t5],axis=0,ignore_index=True)和对称解决方案:
pd.DataFrame().append([df1,df2,df3])