<p>我想您需要<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html" rel="nofollow">^{<cd1>}</a>和<code>sum</code>值在<code>list</code>的<code>df2</code>中,然后使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.merge.html" rel="nofollow">^{<cd5>}</a>和<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop.html" rel="nofollow">^{<cd6>}</a>列<code>localid</code>:</p>
<pre><code>df1 = pd.DataFrame({'id':['D1','D2','D3','D4','D5','D6'],
'Field1':[12,15,11,7,55,8.8]})
print (df1)
Field1 id
0 12.0 D1
1 15.0 D2
2 11.0 D3
3 7.0 D4
4 55.0 D5
5 8.8 D6
df2 = pd.DataFrame({'localid':['D1','D2','D3','D3','D9'],
'color':[['b'],['a'],['a','b'],['s','d'], ['a']]})
print (df2)
color localid
0 [b] D1
1 [a] D2
2 [a, b] D3
3 [s, d] D3
4 [a] D9
</code></pre>
<pre><code>df2 = df2.groupby('localid', as_index=False)['color'].sum()
print (df2)
localid color
0 D1 [b]
1 D2 [a]
2 D3 [a, b, s, d]
3 D9 [a]
dfmerged = pd.merge(df1,
df2,
left_on='id',
right_on='localid',
how='left')
.drop('localid', axis=1)
print (dfmerged)
Field1 id color
0 12.0 D1 [b]
1 15.0 D2 [a]
2 11.0 D3 [a, b, s, d]
3 7.0 D4 NaN
4 55.0 D5 NaN
5 8.8 D6 NaN
</code></pre>