我想知道在Python中使用熊猫是否可能实现以下目的: 我有两个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)
您能帮忙吗?也许有更简单的方法?
答案 0 :(得分:0)
您可以在两个数据框中按ID排序。 df.sort_values(by=['id'])
可以做到这一点,然后只需设置一个新的数据框并从其他您喜欢的数据框中获取列即可,例如df_new['ProductName'] = df['ProductName']