【发布时间】:2018-06-05 05:39:31
【问题描述】:
我有两个 CSV 文件,其中第一个 csv 文件包含价格列,第二个 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
Code Quantity
110106 210
110107 220
110110 230
110120 240
110122 250
而预期的输出是
第一个.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']
但它没有返回任何结果
【问题讨论】:
-
我假设您希望将这些按
'Code'列排列。如果我是对的,您预计输出不正确。 -
为什么不将
Quantity合并到Code上的其他数据帧,那么就不需要两个数据帧了? -
@student 我已经更新了我的问题并将两个 csv 合并到单个 result.cvs 但它仍然没有返回总数
-
当你调用
c.head()时,它没有返回任何东西? -
这个用于添加 csv ---> df.to_csv('new_or_old.csv', mode='a', header=False)
标签: python pandas csv multiple-columns multiplication