Pandas-06-数据合并
1. pd.concat实现数据合并
-
pd.concat([data1, data2], axis=1)
- 按照行或列进行合并,axis=0为列索引,axis=1为行索引
比如将刚才处理好的one-hot编码与原数据合并
# 按照行索引进行合并 pd.concat([data, dummies], axis=1)
2. pd.merge
-
pd.merge(left, right, how='inner', on=None)
- 可以指定按照两组共同的数据的共同键值对合并或者左右各自
left:DataFrameright:另一个DataFrameon:指定的共同键how:按照什么方式进行连接
Merge method SQL Jion Name Description leftLEFT OUTER JION左连接 rightRIGHT OUTER JION右连接 innerINNER JION内连接 outerFULL OUTER JION外连接 left = pd.DataFrame({ "A": ["A0", "A1", "A2", "A3"], "B": ["B0", "B1", "B2", "B3"], "key1": ["K0", "K0", "K1", "K2"], "key2": ["K0", "K1", "K0", "K1"] }) right = pd.DataFrame({ "C": ["C0", "C1", "C2", "C3"], "D": ["D0", "D1", "D2", "D3"], "key1": ["K0", "K1", "K1", "K2"], "key2": ["K0", "K0", "K0", "K0"] }) -
默认为内连接:
# 默认内连接 result = pd.merge(left, right, on=["key1", "key2"])
-
左连接
# 左连接 result = pd.merge(left, right, how="left", on=["key1", "key2"])
-
右连接
# 右连接 result = pd.merge(left, right, how="right", on=["key1", "key2"])
-
外连接
# 外连接 result = pd.merge(left, right, how="outer", on=["key1", "key2"])
3. 总结
- pd.concat(["数据1", "数据2"], axis=)
- pd.merge(left, right, how=, on=)
- how -- 以何种方式连接
- on -- 连接的键的依据是哪些

浙公网安备 33010602011771号