

有好多类似数据在一张表里需要合并,登记号一样的情况下,怎么把不同行的不同指标的数据合并到一行呢
import pandas as pd # 导入pandas包
df = pd.read_excel('test.xlsx', sheet_name = '测试数据') # 读取源文件的相关sheet,例如test.xlsx文件的名为'测试数据'的sheet
df1 = df[['登记号', 'psa']] # 截取表单的‘登记号’列和名为'psa'的列
df1 = df1.dropna(subset=['psa']) # 删除该数据结构中名为'psa'列的空白内容,也可以不用=赋值,写成:df1.dropna(subset=['psa'], inplace=True)
df2 = df[['登记号', 'tpsa']] # 同上,重复,只是换了其他名字的列
df2 = df2.dropna(subset=['tpsa'])
df3 = df[['登记号', 'fpsa']]
df3 = df3.dropna(subset=['fpsa'])
step = pd.merge(df1, df2, how='left', on=['登记号']) # 三个小结构两两合并,key是‘登记号‘
result = pd.merge(step, df3, how='left', on=['登记号'])
result.to_excel('test_result.xlsx', sheet_name = '合并结果测试', index=False) # 生成结果文件以供参考

