python 数据框合并_python-合并数据框与聚合
时间: 2023-08-29 18:04:20 浏览: 174
数据合并工具,文件合并工具,Python
5星 · 资源好评率100%
在 Python 中,可以使用 pandas 库来合并数据框。数据框合并通常包括两个方面:连接和聚合。
连接指的是将两个数据框按照某些列进行合并,有以下几种方式:
1. 内连接(inner join):只保留两个数据框中都存在的行。
2. 左连接(left join):将左边的数据框所有行都保留,将右边的数据框中匹配到的行合并到左边的数据框中。
3. 右连接(right join):将右边的数据框所有行都保留,将左边的数据框中匹配到的行合并到右边的数据框中。
4. 外连接(outer join):将两个数据框所有的行都保留,空值用 NaN 填充。
聚合指的是根据某些列对数据框进行分组,并计算每组的统计量,如均值、中位数等。可以使用 pandas 中的 groupby 方法来实现。
下面是一个示例代码,展示了如何进行数据框合并和聚合:
```python
import pandas as pd
# 创建两个数据框 df1 和 df2
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})
# 内连接
inner_join = pd.merge(df1, df2, on='key', how='inner')
print('内连接:\n', inner_join)
# 左连接
left_join = pd.merge(df1, df2, on='key', how='left')
print('左连接:\n', left_join)
# 右连接
right_join = pd.merge(df1, df2, on='key', how='right')
print('右连接:\n', right_join)
# 外连接
outer_join = pd.merge(df1, df2, on='key', how='outer')
print('外连接:\n', outer_join)
# 根据 key 列进行分组,并计算每组的均值和中位数
grouped = outer_join.groupby('key').agg({'value': ['mean', 'median']})
print('分组聚合:\n', grouped)
```
输出结果如下:
```
内连接:
key value_x value_y
0 B 2 5
1 D 4 6
左连接:
key value_x value_y
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
右连接:
key value_x value_y
0 B 2.0 5
1 D 4.0 6
2 E NaN 7
3 F NaN 8
外连接:
key value_x value_y
0 A 1.0 NaN
1 B 2.0 5.0
2 C 3.0 NaN
3 D 4.0 6.0
4 E NaN 7.0
5 F NaN 8.0
分组聚合:
value
mean median
key
A 1.0 1.0
B 3.5 3.5
C 3.0 3.0
D 5.0 5.0
E 7.0 7.0
F 8.0 8.0
```
阅读全文