Pandas 如何处理缺少索引的数据帧
我有一个多列数据帧列表,如Pandas 如何处理缺少索引的数据帧,pandas,dataframe,concatenation,Pandas,Dataframe,Concatenation,我有一个多列数据帧列表,如 A. idx b c 0 0.1 0.5 1 0.2 0.2 2 0.3 0.4 3 . . . . . . . . . 0.9 0.1 2 1 0.5 6 我想将它们连接到一个DF中,如: A B idx b c e f 0 ...... 0.1 0.5 1 ...... 0.2 0.2 2 0.3 0.4 3 . . . . . . . . . 0.9 0.1
A.
idx b c
0
0.1 0.5 1
0.2 0.2 2
0.3 0.4 3
. . .
. . .
. . .
0.9 0.1 2
1 0.5 6
我想将它们连接到一个DF中,如:
A B
idx b c e f
0 ......
0.1 0.5 1 ......
0.2 0.2 2
0.3 0.4 3
. . .
. . .
. . .
0.9 0.1 2
1 0.5 6 ......
仅使用索引列1并将所有数据帧追加到第一个数据帧旁边。不幸的是,一些数据帧缺少一些索引,例如0.1、0.2、{missing 0.3}、0.4。。。1
我试着用
df=pd.concat(dfs,轴=0)
但我得到的是有80行的df(正如我所期望的那样多,因为我有一个包含40个2列数据帧的列表)
但还有400行,因为它也将每个df添加为行。
如何处理 如果我理解正确,您可以这样尝试:
index = df.index
df.reset_index(drop=True, inplace=True)
dfs.reset_index(drop=True, inplace=True)
df = df.join(dfs)
df = df.set_index(index)
你认为df=pd.concat(dfs,axis=1)吗?
axis=0
表示水平连接。但我想要水平连接作为结果。为什么你认为我使用axis=1?@Zarrie你试过df=df.join(dfs)
?@Joe,是的!它还在制造额外的划船谢谢你,乔!FIY这也对我有用:index=[0.1,0.2,…,1]df=df.reindex(index)df.join(dfs)