繁体   English   中英

从两列合并 pandas dataframe

[英]merge pandas dataframe from two columns

我有两个具有复合主键的数据框,即两列标识每个元素,我想将这些数据框合并为一个。 我怎样才能做到这一点? 我的例子是:

import random
import pandas as pd
import numpy as np
A = ['DF-PI-05', 'DF-PI-09', 'DF-PI-10', 'DF-PI-15', 'DF-PI-16',
       'DF-PI-19']


Sig = [100,200,400]*6
B = np.repeat(A,3)
C = pd.DataFrame(list(zip(B,Sig)),columns=['Name','Sig'])
D = pd.DataFrame(list(zip(B,Sig)),columns=['Name','Sig'])
C['param_1'] = np.linspace(0,20,18)
D['param_2'] = np.linspace(20,100,18)

我想通过“名称”和“Sig”列合并 C 和 D,实际上,“名称”列没有排序,我不仅可以将 append C 连接到 D。我需要匹配两列在一起:“名称”和“签名”。

对于简单的左合并使用:

C.merge(D, on=['Name', 'Sig'], how='left')

到 append D 到 C 为行:

C.append(D.rename(columns={'param_2': 'param_1'}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM