这是我的数据集 Column1 Column2 Column3
0
1
2
df2[0]
我的下一个数据集 Column4 Column5 Column6
203A
206B
207A
frames_all_1 = pd.concat(df1[0], df2[0], axis=1)
df1[0].index = df2[0].index
而我所做的是
NoneType' object has no attribute 'index'
和错误信息
pd.concat([df1[0], df2[0]], axis=1)
在那之前,我试试这个
Column1 Column2 Column3 Column4 Column5 Column6
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
203A NaN NaN NaN
206B NaN NaN NaN
207A NaN NaN NaN
结果
Column1 Column2 Column3 Column4 Column5 Column6
203A
206B
207A
我的预期输出
dim = msp.add_aligned_dim(
p1.p, p2.p, distance=2,
dimstyle='Standard',
dxfattribs={'layer':'DIM'})
dim.render()
答案 0 :(得分:1)
让我们从初始阶段开始:
第一种方式:
result=pd.concat([df1, df2],axis=1).dropna(subset=['Column4'])
result.loc[:,df1.columns]=df1.values
第二种方式:
result=pd.concat([df1, df2.reset_index()], axis=1).set_index('index')
第三种方式:
result=df1.copy()
df2=df2.reset_index()
result[df2.columns]=df2
result=result.set_index('index')
df2=df2.set_index('index')
现在如果你打印 result
你会得到你想要的输出
答案 1 :(得分:1)
Idea 是 rename
之前的字典索引值 concat
:
d = dict(zip(df1[0].index, df2[0].index))
print (d)
pd.concat([df1[0].rename(d), df2[0]], axis=1)
错误意味着列表中有 df1
或 df2
而不是 DataFrame
某些 None
对象,因此所有解决方案都应该失败。
答案 2 :(得分:0)
df1.reset_index(drop=True, inplace=True)
df2.reset_index(drop=True, inplace=True)
frames_all_1 = pd.concat(df1[0], df2[0], axis=1)
尝试先重置索引,然后再连接