擅长:python、mysql、java
<p>您可以将水果作为关键,并对品牌进行分组:</p>
<pre><code>from collections import defaultdict
import csv
with open("in.csv") as f:
r = csv.reader(f)
next(r) # skip header
# fruite will be keys, values will be dicts
# with brands as keys and running totals for rev as values
d = defaultdict(lambda: defaultdict(int))
for fruit, brand, rev in r:
d[fruit][brand] += float(rev)
</code></pre>
<p>使用输入输出:</p>
^{pr2}$
<p>然后,您可以使用这些键减去费用。</p>
<p>使用<a href="http://pandas.pydata.org/" rel="nofollow">pandas</a>生活更容易你可以分组和求和:</p>
<pre><code>import pandas as pd
df = pd.read_csv("in.csv")
print(df.groupby(("A","B")).sum())
</code></pre>
<p>输出:</p>
<pre><code>A B
Apple CrunchApple 1.7
Banana BananaBrand 4.0
OtherBrand 3.2
Kiwi NZKiwi 1.2
Pear PearShaped 6.2
</code></pre>
<p>或按水果和品牌分组:</p>
<pre><code>groups = df.groupby(["A","B"])
print(groups.get_group(('Banana', 'OtherBrand')))
print(groups.get_group(('Banana', 'BananaBrand')))
</code></pre>