<p>我想您可以指定列名:</p>
<pre><code>d={}
d['p1']=123
d['p2']='foo'
d['p3']= [10,10]
df = pd.DataFrame({'col':d})
print (df)
col
p1 123
p2 foo
p3 [10, 10]
</code></pre>
<p>或者可以创建<code>Series</code>:</p>
^{pr2}$
<p>对我来说,<code>DataFrame</code>构造函数也可以工作,但是列表值被转换成标量:</p>
<pre><code>d={}
d['p1']=123
d['p2']='foo'
d['p3']= [10,5]
df = pd.DataFrame(d)
print (df)
p1 p2 p3
0 123 foo 10
1 123 foo 5
</code></pre>
<p>如果需要列名称是可能的,请使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_dict.html" rel="nofollow noreferrer">^{<cd3>}</a>并按<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.T.html" rel="nofollow noreferrer">^{<cd4>}</a>进行转置:</p>
<pre><code>df = pd.DataFrame.from_dict(d, orient='index').T
print (df)
p2 p3 p1
0 foo [10, 10] 123
</code></pre>
<p>或者可以对嵌套的<code>list</code>s使用dict comprehension:</p>
<pre><code>print ({k:[v] for k,v in d.items()})
{'p2': ['foo'], 'p3': [[10, 10]], 'p1': [123]}
df = pd.DataFrame({k:[v] for k,v in d.items()})
print (df)
p1 p2 p3
0 123 foo [10, 10]
</code></pre>