<p>您可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html" rel="nofollow">^{<cd1>}</a>,但在需要创建适当的<code>df</code>之前:</p>
<pre><code>df['nan'] = 'none'
df['Source'] = df.Source.astype(str)
df.reset_index(inplace=True)
df = pd.lreshape(df, {'target': ['index', 'nan'], 'name': ['Destination', 'Source']})
print (df)
target name
0 1 Chicago
1 2 Chicago
2 3 Boston
3 4 Indianapolis
4 none New York
5 none Denver
6 none Los Angeles
7 none Colorado
df1 = df.groupby('name')['target']
.apply(lambda x: [] if (x == 'none').all() else x.tolist())
.reset_index(name='target'))
print (df1)
name target
0 Boston [3]
1 Chicago [1, 2]
2 Colorado []
3 Denver []
4 Indianapolis [4]
5 Los Angeles []
6 New York []
</code></pre>
<pre><code>print (df1.to_dict(orient='records'))
[{'name': 'Boston', 'target': [3]},
{'name': 'Chicago', 'target': [1, 2]},
{'name': 'Colorado', 'target': []},
{'name': 'Denver', 'target': []},
{'name': 'Indianapolis', 'target': [4]},
{'name': 'Los Angeles', 'target': []},
{'name': 'New York', 'target': []}]
</code></pre>