擅长:python、mysql、java
<h2>编辑</h2>
<p>正如John Galt在<a href="https://stackoverflow.com/a/29816143/2358206">his answer </a>中提到的,您可能应该改为使用<code>df.to_dict('records')</code>。它比手动转置要快。</p>
<pre><code>In [20]: timeit df.T.to_dict().values()
1000 loops, best of 3: 395 µs per loop
In [21]: timeit df.to_dict('records')
10000 loops, best of 3: 53 µs per loop
</code></pre>
<hr/>
<h2>原始答案</h2>
<p>使用<code>df.T.to_dict().values()</code>,如下所示:</p>
<pre><code>In [1]: df
Out[1]:
customer item1 item2 item3
0 1 apple milk tomato
1 2 water orange potato
2 3 juice mango chips
In [2]: df.T.to_dict().values()
Out[2]:
[{'customer': 1.0, 'item1': 'apple', 'item2': 'milk', 'item3': 'tomato'},
{'customer': 2.0, 'item1': 'water', 'item2': 'orange', 'item3': 'potato'},
{'customer': 3.0, 'item1': 'juice', 'item2': 'mango', 'item3': 'chips'}]
</code></pre>