【发布时间】:2023-03-11 01:04:01
【问题描述】:
我有这个 df:
cnpj
0 33062217000185
1 82645144000160
我运行一个创建两个不同系列的函数:
for i in df.cnpj:
s=peer_comparison(i)
df=df.merge(peers.to_frame().T, how='left', on='cnpj')
在for语句的第一轮,输出序列是这样的:
s (first round):
A N/A
B N/A
C N/A
cnpj 33062217000185
合并后的数据框如下所示:
cnpj A B C
0 33062217000185 N/A N/A N/A
1 82645144000160 NaN NaN NaN
到第二轮合并时,系列是这样的:
s (second round):
A N/A
B N/A
C N/A
cnpj 82645144000160
但是合并变得一团糟,像这样:
cnpj A_x B_x C_x A_y B_y C_y
0 33062217000185 N/A N/A N/A NaN NaN NaN
1 82645144000160 NaN NaN NaN N/A N/A N/A
如果我尝试使用 df.merge(s.to_frame().T.astype({'cnpj' : 'int'}), how='left',on='cnpj').fillna('') 更改合并,我会收到以下错误:
ValueError: entry not a 2- or 3- tuple
有人可以帮忙吗?
【问题讨论】:
标签: python pandas dataframe merge series