Python 将列从一个csv文件移动到另一个csv文件,并将其值移动到ID匹配的位置

Python 将列从一个csv文件移动到另一个csv文件,并将其值移动到ID匹配的位置,python,pandas,csv,Python,Pandas,Csv,我想知道使用Python中的pandas是否可以实现以下功能: 我有两个CSV文件 products.csv: Id ProductName EngagedUsers 1 Tennis Ball 17 2 Football Shoes 33 3 Electric Guitar 45 4 Drum Pad 6 orders.csv: Id OrderNo OrderDestination 1 200 London 3 22

我想知道使用Python中的pandas是否可以实现以下功能: 我有两个CSV文件

products.csv:

Id  ProductName EngagedUsers
1   Tennis Ball     17
2   Football Shoes  33
3   Electric Guitar 45
4   Drum Pad        6
orders.csv:

Id  OrderNo OrderDestination
1    200         London
3    22          Madrid
2    1           Lisbon
基于这两个文件,我想生成一个新的CSV文件,显示以下内容:

newOrders.csv:

Id  ProductName EngagedUsers    OrderNo
1   Tennis Ball     17            200
2   Football Shoes  33            1
3   Electric Guitar 45            22
据我所知,我必须将这两个文件作为数据帧打开,并将它们合并到“Id”列中,并指定我需要的列,然后newOrders.csv文件中将只显示匹配Id的值+文件中将不显示不匹配“Id”的记录。你能帮忙吗?到目前为止,我是这样开始的,但结果并不像我预期的那样:

 import pandas as pd

 df_products = pd.read_csv("products.csv")
 df_orders = pd.read_csv("orders.csv")

 df_new = pd.merge(df_products, df_orders, on='Id')

 Id = df_new["Id"]
 ProductName = df_new["ProductName"]
 EngagedUsers = df_new["EngagedUsers"]
 OrderNo = df_new["OrderNo"]


 header = ["Id", "ProductName", "EngagedUsers", "OrderNo"]
 df.to_csv('newOrders.csv', columns = header)

你能帮个忙吗?或者有更简单的方法

您可以在两个数据帧中按id排序。这在
df.sort_值(by=['id'])
中是可能的,然后只需设置一个新的数据框并从您喜欢的其他数据框中获取列,例如
df_new['ProductName']=df['ProductName']