代码如下
import pandas as pd
import numpy as np
# 数据生成代码
num = np.random.randint(50, 100, (3, 5))
# 传入标签索引
column = ['语文', '数学', '英语', '物理', '政治'] # 列标签索引
# ind = ['name1', 'name2', 'name3'] # 行标签索引
ind = ['name' + str(i) for i in range(num.shape[0])] # 行标签索引,num.shape[0]即获取num数组的行号,此处为3
data3 = pd.DataFrame(num, columns=column, index=ind)
data3
-----------------------------------------------------------------------------------
import pandas as pd
import numpy as np
# 数据生成代码
num = np.random.randint(50, 100, (5, 5))
# 传入标签索引
column = ['化学', '生物', '历史', '地理', '语文'] # 列标签索引
ind = ['name' + str(i) for i in range(num.shape[0])] # 行标签索引,num.shape[0]即获取num数组的行号,此处为5
data4 = pd.DataFrame(num, columns=column, index=ind)
data4
-----------------------------------------------------------------------------------
pd.concat([data3, data4], axis=1) # 按行索引合并
pd.concat([data3, data4], axis=0) # 按列索引合并
left:
DataFrameright:
另一个DataFrameon:
指定的共同键,连接的依据合并方法 | SQL 连接名称 | 描述 |
---|---|---|
left |
LEFT OUTER JOIN |
仅使用来自左框架的键 |
right |
RIGHT OUTER JOIN |
仅使用来自右框架的键 |
outer |
FULL OUTER JOIN |
使用来自两个框架的键的并集 |
inner |
INNER JOIN |
使用来自两个框架的键的交集 |
数据准备
left = pd.DataFrame({'name': ['YX', 'XY', 'XX', 'YY'],
'age': ['18', '18', '22', '19'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
left
------------------------------------------------------------
right = pd.DataFrame({'name': ['YX', 'XY', 'XX', 'yx'],
'age': ['18', '20', '22', '19'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
right
result = pd.merge(left, right, on=['name', 'age']) # 默认inner内连接
result
pd.merge(left, right, how='left', on=['name', 'age']) # 左连接
pd.merge(left, right, how='right', on=['name', 'age']) # 右连接
pd.merge(left, right, how='outer', on=['name', 'age']) # 外连接
http://xqnav.top/