Use of merge():
Usage scenario: One or more columns in two DataFrames have the same column name
dic1 = {
'name':['李四', '王五', '赵六'], 'age':[12, 13, 14]}
dic2 = {
'name':['张三', '李四', '王五'], 'class':['A1', 'A2', 'A3']}
df1 = pd.DataFrame(dic1)
df2 = pd.DataFrame(dic2)
'''
name age
0 李四 12
1 王五 13
2 赵六 14
name class
0 张三 A1
1 李四 A2
2 王五 A3
'''
How to merge how ='inner' (default), similar to taking intersection
on: the column name used to connect, if not specified, the intersection of the column names of the two Dataframes is used as the connection key
merge_df = pd.merge(df1, df2, on='name', how = "inner")
'''
name age class
0 李四 12 A2
1 王五 13 A3
'''
how ='outer', similar to taking the union
merge_df = pd.merge(df1, df2, on='name', how = "outer")
'''
name age class
0 李四 12.0 A2
1 王五 13.0 A3
2 赵六 14.0 NaN
3 张三 NaN A1
'''
how ='left'('right'), similar to the left connection and right connection in the database
merge_df = pd.merge(df1, df2, on='name', how = "left")
'''
name age class
0 李四 12 A2
1 王五 13 A3
2 赵六 14 NaN
'''
merge_df = pd.merge(df1, df2, on='name', how = "right")
'''
name age class
0 张三 NaN A1
1 李四 12.0 A2
2 王五 13.0 A3
'''
The use of concat():
Commonly used parameters
objs: sequence composed of series, dataframe, etc.
axis: 1 axis, 0 axis (default)
join: outer default, optional inner
ignore_index: default False, that is, do not reset the index of the dataframe
sort: default False
dic1 = {
'name':['李四', '王五', '赵六'], 'age':[12, 13, 14]}
dic2 = {
'name':['张三', '李四', '王五'], 'class':['A1', 'A2', 'A3']}
df1 = pd.DataFrame(dic1)
df2 = pd.DataFrame(dic2)
'''
name age
0 李四 12
1 王五 13
2 赵六 14
name class
0 张三 A1
1 李四 A2
2 王五 A3
'''
join ='outer'
0 axis: vertical axis, increase or decrease of rows
new_df = pd.concat([df1, df2], ignore_index=True, join='outer',axis=0)
'''
name age class
0 李四 12.0 NaN
1 王五 13.0 NaN
2 赵六 14.0 NaN
3 张三 NaN A1
4 李四 NaN A2
5 王五 NaN A3
'''
join ='outer'
1 axis: horizontal axis, column increase or decrease
new_df = pd.concat([df1, df2], ignore_index=True, join='outer',axis=1)
'''
0 1 2 3
0 李四 12 张三 A1
1 王五 13 李四 A2
2 赵六 14 王五 A3
'''
Even a little restraint on yourself can make a person strong and powerful