如何将两列与不同的两个 csv 文件相乘,return 使用 Pandas 生成第一个 csv 文件
How to multiply two columns with different two csv file and return result in first csv file using Pandas
我有两个 CSV 文件,其中第一个 csv 文件包含价格列,第二个 csv 文件包含数量我试图将这两列相乘并将结果保存在第一个 csv 的新列中
First.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
Second.csv
Code Quantity
110106 210
110107 220
110110 230
110120 240
110122 250
预期输出是
First.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']
但它没有return任何结果
使用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)
我有两个 CSV 文件,其中第一个 csv 文件包含价格列,第二个 csv 文件包含数量我试图将这两列相乘并将结果保存在第一个 csv 的新列中
First.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
Second.csv
Code Quantity
110106 210
110107 220
110110 230
110120 240
110122 250
预期输出是
First.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']
但它没有return任何结果
使用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)