擅长:python、mysql、java
<p>如果您对使用<a href="https://pandas.pydata.org/" rel="nofollow noreferrer">pandas</a>感到足够舒服,您可以在数据上包装一个<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html" rel="nofollow noreferrer">pivot table</a>。我假设结果表就是您想要显示的。你知道吗</p>
<pre><code>import pandas as pd
headers = ['name', 'year', 'amount', 'result']
my_list = [ ['a', '2013', '10.22', 'won'],
['b', '2012', '11.23', 'won'],
['c', '2013', '12.62', 'lost']]
df = pd.DataFrame(my_list, columns=headers)
df.amount = pd.to_numeric(df.amount) # makes amount numeric
df2 = pd.pivot_table(df, index='year', columns='result', values='amount', aggfunc=sum)
# result lost won
# year
# 2012 NaN 11.23
# 2013 12.62 10.22
</code></pre>
<p>将<code>NaN</code>更改为<code>0</code></p>
<pre><code>df2.fillna(0, inplace=True)
</code></pre>
<p>从那里你可以有乐趣,做一些更好的事情,如计算净变化。你知道吗</p>
<pre><code>df2['net'] = df2.won - df2.lost
# result lost won net
# year
# 2012 0.00 11.23 11.23
# 2013 12.62 10.22 -2.40
</code></pre>