我想知道使用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_values(by=['id'])
实现,然后只需设置一个新的数据帧并从您喜欢的其他数据帧中获取列,例如df_new['ProductName'] = df['ProductName']
相关问题 更多 >
编程相关推荐