匹配列之和Python

问题描述 投票:0回答:1

我有一个包含以下数据的CSV文件,在这里我需要匹配第1列产品并根据第2列中的数量获取其总和:

red shirt    1
blue shirt   1
red shirt    1

结果应该是:

red shirt    2
blue shirt   1

下面是我到目前为止的内容,但是我认为这只是将匹配的行加在一起,而不是使用第2列中的总和。

df = pd.read_csv('inventory.csv', names=['product','quantity'])

df1 = pd.DataFrame(df)
df1['quantity'] = pd.to_numeric(df1['quantity'],errors='coerce')
df1 = df1.groupby('product')['quantity'].sum()
df1.to_csv(r'inventory_sum.csv')
python pandas dataframe
1个回答
0
投票
您可以使用此处记录的collection.Counter():https://docs.python.org/2/library/collections.html

df = pd.read_csv('inventory.csv', names=['product','quantity']) cnt = Counter() df1 = pd.DataFrame(df) for index, row in df1.iterrows(): cnt[row['product']] += row['quantity']

© www.soinside.com 2019 - 2024. All rights reserved.