merge(
left,
right,
how="inner",
on=None,
left_on=None,
right_on=None,
left_index=False,
right_index=False,
sort=False,
suffixes=("_x", "_y"),
copy=True,
indicator=False,
validate=None,
)
参数 | 说明 |
---|---|
left | 左表 |
right | 右表 |
how | 连接方式,inner、left、right、outer,默认为inner |
on | 用于连接的列名称 |
left_on | 左表用于连接的列名 |
right_on | 右表用于连接的列名 |
left_index | 是否使用左表的行索引作为连接键,默认False |
right_index | 是否使用右表的行索引作为连接键,默认False |
sort | 默认为False,将合并的数据进行排序 |
copy | 默认为True,总是将数据复制到数据结构中,设置为False可以提高性能 |
suffixes | 存在相同列名时在列名后面添加的后缀,默认为(’_x’, ‘_y’) |
indicator | 显示合并数据中数据来自哪个表 |
left_on与right_on主要用于连接的2个表列名不同的时候
DataFrame有一个实例方法join,相当于merge方法的参数left_index=True和right_index=True
concat可以把多个DataFrame拼接为一个DataFrame
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0, 20, (5, 2)), columns=['A', 'B'])
print(df)
data = [df[0:2], df[3:]]
print(pd.concat(data))
append用于追加行,也concat是pd的静态函数不同,append是DataFrame的方法。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0, 20, (3, 2)), columns=['A', 'B'])
print(df)
narry = np.random.randint(0, 20, (2, 2))
data = pd.DataFrame(narry, columns=['A', 'B'])
print(df.append(data, ignore_index=True))