熊猫创建只有列名的空数据框

我有一个运行良好的动态数据帧,但是当没有数据添加到数据帧中时,我会得到一个错误。因此,我需要一个解决方案来创建一个只有列名的空数据帧

现在我有这样的东西:

请注意,现在插入了行数据。

PS:列名仍然出现在数据帧中是很重要的

但当我这样使用它时,我得到的结果是:

索引([],dtype='object')
空数据帧

“空数据帧”部分很好!但是我需要显示列,而不是索引

编辑:

我发现了一件重要的事情:我正在使用Jinja2将此数据帧转换为PDF,因此我调用了一个方法,首先将其输出为HTML,如下所示:

df.to_html()

我想这就是专栏迷失的地方

编辑2:
一般来说,我遵循以下示例:http://pbpython.com/pdf-reports.html. css也来自链接。
这就是我将数据帧发送到PDF的方法:

env=Environment(loader=FileSystemLoader('.'))
template=env.get\u template(“pdf\u report\u template.html”)
template_vars={“我的数据框架”:df.to_html()}
html\u out=template.render(模板变量)
HTML(string=HTML\u out)。编写pdf(“my\u pdf.pdf”,样式表=[“pdf\u report\u style.css”])

编辑3:

如果在创建后立即打印出数据帧,则会得到以下结果:

[0行x 9列]
空数据帧
列:[列a,列b,列c,列d,
e列,f列,g列,
第h列,第i列]
索引:[]

这似乎是合理的,但如果我打印出模板变量:

'my_dataframe':'<表border=“1”class=“dataframe”&gt\n<t车身&gt\n<tr&gt\n<td>索引([],dtype=\'object\')&lt/td&gt\n<td>空数据帧&lt/td&gt\n&lt/tr&gt\n&lt/t车身&gt\n&lt/表>'

而且这些柱子似乎已经不见了

E4:
如果我打印出以下内容:

打印(df.to_html())

我已经得到了以下结果:

<表border=“1”class=“dataframe”>
<t车身>
<tr>
<td>索引([],dtype='object')&lt/td>
<td>空数据帧&lt/td>
&lt/tr>
&lt/t车身>
&lt/表>

您可以使用列名或索引创建空数据框:

[4]on

:将熊猫作为pd导入
At[5]on:df=pd.DataFrame(列=['A','B','C','D','E','F','G'])
In[6]:df
Output[6]:
空数据帧
列:[A、B、C、D、E、F、G]
索引:[]

[7]on

:df=pd.DataFrame(索引=范围(1,10))
In[8]:df
Output[8]:
空数据帧
列:[]
索引:[1,2,3,4,5,6,7,8,9]

编辑:
即使在你修改了.to_html之后,我也无法复制。这:

df=pd.DataFrame(列=['A','B','C','D','E','F','G'])
df.to_html('test.html'))

产生:

<表border=“1”class=“dataframe”>
<thead>
<tr style=“文本对齐:右;”gt;
<th&gt&lt/th>
<th>A&lt/th>
<th>B&lt/th>
<th>C&lt/th>
<th>D&lt/th>
<th>E&lt/th>
<th>F&lt/th>
<th>G&lt/th>
&lt/tr>
&lt/thead>
<t车身>
&lt/t车身>
&lt/表>

发表评论