<p>您正在从列表创建数据帧。调用<code>pd.DataFrame(your_list)</code>时,如果您的列表是一个简单的同质列表,则会为该列表中的每个元素创建一行。供您输入:</p>
<pre><code>percentage_default = [0.15238817285822592,
0.11568938193343899,
0.16602316602316602,
0.17011128775834658,
0.2778675282714055,
0.11212814645308924,
0.20116618075801748]
</code></pre>
<p>熊猫将创建如下数据帧:</p>
<pre><code>Column
0.15238817285822592
0.11568938193343899
0.16602316602316602
0.17011128775834658
0.2778675282714055
0.11212814645308924
0.20116618075801748
</code></pre>
<p>因此,您的数据帧只有一列。您正在尝试传递多个列名,这让熊猫感到困惑。你知道吗</p>
<p>如果希望从包含多列的列表创建数据帧,则需要在原始列表中嵌套更多的列表或元组。每个嵌套的元组/列表将成为dataframe中的一行,嵌套的元组/列表中的每个元素将成为一个新列。看这个:</p>
<pre><code>percentage_default = [(0.15238817285822592,
0.11568938193343899,
0.16602316602316602,
0.17011128775834658,
0.2778675282714055,
0.11212814645308924,
0.20116618075801748)] # nested tuple
</code></pre>
<p>我们在这个列表中有一个嵌套元组,所以我们的数据帧将有一行n列,其中n是嵌套元组中的元素数(7)。然后我们可以传递您的7个列名:</p>
<pre><code>percentage_default = [(0.15238817285822592,
0.11568938193343899,
0.16602316602316602,
0.17011128775834658,
0.2778675282714055,
0.11212814645308924,
0.20116618075801748)]
col_names = ['debt_consolidation', 'credit_card', 'all_other',
'home_improvement', 'small_business', 'major_purchase',
'educational']
new_df = pd.DataFrame(percentage_default, columns = col_names)
print(new_df)
debt_consolidation credit_card all_other home_improvement \
0 0.152388 0.115689 0.166023 0.170111
small_business major_purchase educational
0 0.277868 0.112128 0.201166
</code></pre>