<p>传递给<code>DataFrame</code>构造函数,然后使用<code>groupby</code>,注意这里我们将数值列作为字符串类型,所以我们需要在使用<code>mean</code>函数之前将其转换回来</p>
<pre><code>out = pd.DataFrame(j).groupby(['Year','Book name'],as_index=False)[['Book price']].agg(lambda x : x.astype(int).mean())
out
Out[348]:
Year Book name Book price
0 2009 Happy Prince 12.333333
1 2009 Jane 11.000000
2 2010 Happy Prince 12.500000
3 2010 Jane 13.000000
</code></pre>
<p>数据固定和输入</p>
<pre><code>j = [
{
"Year":"2009",
"Book store":"ABC Store",
"Book name":"Happy Prince",
"Book price":"10"
},
{
"Year":"2009",
"Book store":"ABC Store",
"Book name":"Happy Prince",
"Book price":"14"
},
{ "Year":"2009",
"Book store":"ABC Store",
"Book name":"Happy Prince",
"Book price":"13"
},
{"Year":"2009",
"Book store":"ABC Store",
"Book name":"Jane",
"Book price":"10"
},
{"Year":"2009",
"Book store":"ABC Store",
"Book name":"Jane",
"Book price":"12"
},
{"Year":"2010",
"Book store":"ABC Store",
"Book name":"Happy Prince",
"Book price":"15"
},
{"Year":"2010",
"Book store":"ABC Store",
"Book name":"Happy Prince",
"Book price":"10"
},
{"Year":"2010",
"Book store":"ABC Store",
"Book name":"Jane",
"Book price":"15"
},
{"Year":"2010",
"Book store":"ABC Store",
"Book name":"Jane",
"Book price":"11"
},
]
</code></pre>