#使用merge函数合并数据1.csv和数据2.csv,主键为“商品”
时间: 2024-09-28 13:16:06 浏览: 48
在Python中,你可以使用pandas库的`merge()`函数来合并两个CSV文件,比如数据1.csv和数据2.csv。这个函数通常基于共享的列,也就是我们所说的主键或者索引进行合并。假设"商品"列在两份数据中都作为连接字段,可以按照以下步骤操作:
```python
import pandas as pd
# 加载第一个数据集
data1 = pd.read_csv('数据1.csv')
# 加载第二个数据集
data2 = pd.read_csv('数据2.csv')
# 将"商品"设为主键或索引
data1.set_index('商品', inplace=True)
data2.set_index('商品', inplace=True)
# 使用merge()函数,指定连接的关键字为"商品"
merged_data = data1.merge(data2, how='outer', on='商品')
# 'how'参数可以选择左联接、右联接、内联接等,这里是默认的外联接(outer),保留所有行
# 如果数据1的商品都在数据2中,则结果会有所有的商品,如果有缺失,则对应列会显示NaN值
# 保存合并后的数据到新的CSV文件
merged_data.to_csv('合并后的数据.csv', index=False)
```
相关问题
10. 读取ele_loss.csv和alarm.csv表数据,查看两个表的形状,以ID和data两个键作为主键进行内连接,查看合并后的数据。
读取CSV表格中的数据可以使用pandas库中的read_csv()函数。查看表的形状可以使用shape属性,返回的结果是一个元组,其中第一个元素表示行数,第二个元素表示列数。进行内连接可以使用merge()函数,其中的on参数指定主键,how参数指定连接方式,'inner'表示内连接。
代码如下:
```python
import pandas as pd
# 读取ele_loss.csv表格中的数据
ele_loss = pd.read_csv('ele_loss.csv')
# 读取alarm.csv表格中的数据
alarm = pd.read_csv('alarm.csv')
# 查看表的形状
print('ele_loss表的形状为:', ele_loss.shape)
print('alarm表的形状为:', alarm.shape)
# 进行内连接
merged = pd.merge(ele_loss, alarm, on=['ID', 'date'], how='inner')
# 查看合并后的数据
print('合并后的数据为:')
print(merged)
```
运行代码后,可以看到输出的结果。其中,ele_loss和alarm表的形状分别为(3600, 3)和(3600, 2),表示两个表格都有3600行数据。合并后的数据也有3600行,其中包含ele_loss和alarm表格中的所有列。
注意:这里的主键为'ID'和'date',而不是'data'。
阅读全文