<p>在每一步中,使用提供的代码,我也不会得到NaN</p>
<pre><code>import pandas as pd
def print_df_A_df_B(stage, df_A, df_B):
print(stage, "assignment","\ndf_A\n",df_A,"\ndf_B\n",df_B,"\n")
pass
A = {'Types':['Falcon', 'Eagle', 'sparrow'],
'Speed':[100, 75, 50]}
df_A = pd.DataFrame(A)
df_B = pd.DataFrame()
df_B['Type'] = df_A['Types']
print_df_A_df_B("Type", df_A, df_B)
df_B['tags'] = ['FLCN', 'EGLE', 'SPRW']
df_B['ID'] = [543.76, 534.32, 645.25]
df_A['Tags'] = df_B['tags']
print_df_A_df_B("Tags", df_A, df_B)
df_A['ID'] = df_B['ID']
print_df_A_df_B("ID", df_A, df_B)
</code></pre>
<p>出去</p>
<pre><code>Type assignment
df_A
Types Speed
0 Falcon 100
1 Eagle 75
2 sparrow 50
df_B
Type
0 Falcon
1 Eagle
2 sparrow
Tags assignment
df_A
Types Speed Tags
0 Falcon 100 FLCN
1 Eagle 75 EGLE
2 sparrow 50 SPRW
df_B
Type tags ID
0 Falcon FLCN 543.76
1 Eagle EGLE 534.32
2 sparrow SPRW 645.25
ID assignment
df_A
Types Speed Tags ID
0 Falcon 100 FLCN 543.76
1 Eagle 75 EGLE 534.32
2 sparrow 50 SPRW 645.25
df_B
Type tags ID
0 Falcon FLCN 543.76
1 Eagle EGLE 534.32
2 sparrow SPRW 645.25
</code></pre>
<p>也许可以尝试输入完整的代码:<code>print(type(df_A['ID']), type(df_B['ID']))</code>来检查两者是否都是<code>pandas.core.series.Series</code></p>
<p>对于您报告的解决方法,可以将<code>ignore_index=True</code>添加为<code>pd.concat([df_A, df_B['tags']], axis=1, ignore_index=True)</code>,然后修复列名</p>