📅  最后修改于: 2023-12-03 15:18:13.513000             🧑  作者: Mango
在数据分析中,我们常常需要将多个数据框按照一定的方式合并在一起,这时就需要用到 Pandas concat 系列。下面来介绍一下如何使用 Pandas concat 系列将多个数据框合并。
Pandas concat 系列主要有三种连接方式:concatenate、merge 和 join。其中:
下面是 Pandas concatenate 的基本用法:
pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)
下面是一个简单的样例:
import numpy as np
import pandas as pd
arr1 = np.random.randint(low=0, high=5, size=10).reshape(5, 2)
arr2 = np.random.randint(low=0, high=5, size=10).reshape(5, 2)
df1 = pd.DataFrame(arr1, columns=['A', 'B'])
df2 = pd.DataFrame(arr2, columns=['C', 'D'])
print(df1)
print(df2)
# 按行拼接(竖直方向)
df3 = pd.concat([df1, df2], axis=0)
print(df3)
# 按列拼接(水平方向)
df4 = pd.concat([df1, df2], axis=1)
print(df4)
# 忽略原来数据框的索引
df5 = pd.concat([df1, df2], axis=1, ignore_index=True)
print(df5)
# 创建层次化索引
df6 = pd.concat([df1, df2], keys=['df1', 'df2'])
print(df6)
下面是 Pandas merge 的基本用法:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
下面是一个简单的样例:
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['A', 'B', 'E', 'F'], 'value': [5, 6, 7, 8]})
print(df1)
print(df2)
# 内连接
df3 = pd.merge(df1, df2, on='key', how='inner')
print(df3)
# 左连接
df4 = pd.merge(df1, df2, on='key', how='left')
print(df4)
# 指定后缀名
df5 = pd.merge(df1, df2, on='key', how='outer', suffixes=('_left', '_right'))
print(df5)
下面是 Pandas join 的基本用法:
DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False)
下面是一个简单的样例:
arr1 = np.random.randint(low=0, high=5, size=5).reshape(5, 1)
arr2 = np.random.randint(low=0, high=5, size=5).reshape(5, 1)
df1 = pd.DataFrame(arr1, columns=['A'])
df2 = pd.DataFrame(arr2, columns=['B'])
print(df1)
print(df2)
# 内连接
df3 = df1.join(df2, how='inner')
print(df3)
# 并集
df4 = df1.join(df2, how='outer')
print(df4)
本文介绍了 Pandas concat 系列的常见用法,包括 concatenate、merge 和 join 三种连接方式。在数据分析中,我们常常需要将多个数据框合并在一起,掌握 Pandas concat 系列的用法可以让我们事半功倍。