更新中。。。
merge函数
merge函数可以将两个dataframe数据融合,一般见于将两个含有不同特征的集合进行合并情况。
详细用法:merge
left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
result = pd.merge(left, right,on="key")
result
将a和b按照key特征进行连接,在kaggle中key一般为某个相同的ID,按照该ID将多个特征值连接起来,相似的还有concat。
concat
concat函数常用于将训练集和测试集组合起来,对最终组合的数据集进行相同的处理,基本用法如下:
left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['C0', 'C1', 'C2', 'C3'],
'B': ['D0', 'D1', 'D2', 'D3']})
result = pd.concat([left,right],axis=0,sort=False)
result.reset_index(inplace=True)
result
当concat用于将不同特征组合起来时,两个dataframe中没有相同的特征值,那么可以直接使用cincat而不用merge:
left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
right = pd.DataFrame({'key1': ['K0', 'K1', 'K2', 'K3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
result = pd.concat([left,right],axis=1,sort=False)
result.reset_index(inplace=True)
result