如何用不同的两个csv文件将两列相乘并使用Pandas返回第一个csv文件的结果

2024-06-17 10:43:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个CSV文件,其中第一个CSV文件包含Price列,第二个CSV文件包含我试图将这两列相乘并将结果保存到新列中的第一个CSV

在第一.csv在

Code    Description                                Unit    Price
110101  STATIONARY BICYCLE INDOOR USE               SET    120.25
110106  TREADMILL EXERCISE MACHINE, ELEC. AC110V    SET    950.22
110107  TREADMILL EXERCISE MACHINE, ELEC. AC220V    SET    1000 
110110  EXERCISER ROWING INDOOR USE                 SET    450
110120  BARBELL SET                                 SET    100

在第二.csv在

^{pr2}$

预期产量是

在第一.csv在

Code    Description                                 Unit   Price    Total
110101  STATIONARY BICYCLE INDOOR USE               SET    120.25   25252.5
110106  TREADMILL EXERCISE MACHINE, ELEC. AC110V    SET    150.22   33048.4
110107  TREADMILL EXERCISE MACHINE, ELEC. AC220V    SET    100      23000
110110  EXERCISER ROWING INDOOR USE                 SET    40       9600
110120  BARBELL SET                                 SET    100      25000

我只能读文件

import pandas as pd

df = pd.read_csv("QuoteCSV.csv", parse_dates=True)
print(df)
df1=pd.read_csv("itemcode.csv",index_col="Price", parse_dates=True)
print(df1)

更新时间:

   import pandas as pd

    a = pd.read_csv("itemcode.csv")
    b = pd.read_csv("QuoteCSV.csv")
    b = b.dropna(axis=1)
    merged = a.merge(b, on='Code')
    merged.to_csv("result.csv", index=False)
    c = pd.read_csv("result.csv")
    c['Total'] = c['Price'] * c['Quantity']

但它不返回任何结果


Tags: 文件csvreadusecodedescriptionmachineprice
2条回答

使用map

First.assign(
    Total=First.Price * First.Code.map(dict(zip(Second.Code, Second.Quantity))))

试试这个

df["Total"]=df['Price'].multiply(df1['Quantity'], axis=0)
print(df)

相关问题 更多 >