擅长:python、mysql、java
<p>更简单的方法是创建一个映射,将大陆作为键/值对中的值。然后将状态列映射替换为大陆列。最后在Continent和year上使用groupby函数,并输出数字列的平均值</p>
<pre><code>data = {'state': ['Rome', 'Venice', 'NY', 'Boston', 'London', 'Bristol'],
'year': [2000, 2001, 2002, 2001, 2003, 2003],
'number': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
mapping = {
'Rome':'it',
'Venice':'it',
'London':'UK',
'Bristol':'UK',
'NY':'US',
'Boston':'US'
}
df = pd.DataFrame(data)
df['continent']=df['state'].replace(mapping)
print(df.head())
print(df.groupby(['continent','year'])['number'].mean())
</code></pre>