擅长:python、mysql、java
<p>如果我理解这个问题的话,这应该会产生期望的结果</p>
<pre><code>init = True
for i in range(1980,1990,5):
_df = df[["Income_Cat_"+str(i), 'DWWC'+str(i)]]
_df=_df.groupby("Income_Cat_"+str(i)).sum()
if init:
out = _df
init=False
else:
out = out.merge(_df, how='outer', left_index=True, right_index=True)
out.fillna(0, inplace=True)
out.index.rename('Income_cat', inplace=True)
</code></pre>
<p>您可以将循环中的第一行替换为:</p>
<pre><code>_df = df[[a for a in df.columns if str(i) in a]]
</code></pre>