我有两个数据帧,我想要逐列连接。他们没有标题。因此,第一个数据帧的列标记为0-356。第二个df是单列,标记为0。
DF1
0 1 2 3 ..356
1 1 1 2 3 4
2 5 7 8 9 10
3 11 12 13 14 15
DF2
0
1 76
2 77
3 78
当我与concat结合时
DF3=pd.concat([DF1, DF2],axis=1)
我得到两个标记为0的列
DF3
0 0 1 2 3 ...356
1 76 1 1 2 3 4
2 77 5 7 8 9 10
3 78 11 12 13 14 15
有两个" 0"列显然会在分析后期引起我的问题。
如何更改或重新编制索引,以便我在DF3中的列标记为0-357?
答案 0 :(得分:3)
你需要传递ignore_index=True
,如果发生冲突,这将重新索引rhs:
In [39]:
pd.concat([df,df1], axis=1, ignore_index=True)
Out[39]:
0 1 2 3 4 5
1 1 1 2 3 4 76
2 5 7 8 9 10 77
3 11 12 13 14 15 78
与默认值比较,如果您未将参数默认值传递给False
:
In [40]:
pd.concat([df,df1], axis=1)
Out[40]:
0 1 2 3 4 0
1 1 1 2 3 4 76
2 5 7 8 9 10 77
3 11 12 13 14 15 78
答案 1 :(得分:0)
在concat
之后重命名列,如下所示:
import numpy as np
import pandas as pd
df1 =pd.DataFrame(np.random.rand(3,1))
df2 =pd.DataFrame(np.random.rand(3,356))
df3 =pd.concat([df1,df2],axis=1)
df3.columns = range(357)