我有一个数据框:
df = pd.DataFrame({"by_week": list_1, "by_month": list_2})
现在我需要获取一个 html 表html = df.to_html()
其中列的生成方式如下:
<tr>
<th></th>
<th>by_month</th>
<th>by_week</th>
</tr>
但我正在寻找更多人类可读的标题列,例如:
<tr>
<th></th>
<th>Last 7 days</th>
<th>Last 30 days</th>
</tr>
我有两个选择来解决它:Option 1
html = html.replace("by_week", "Last 7 days").replace("by_month", "Last 30 days")
但是代码很乱
Option 2
df = pd.DataFrame({"Last 7 days": list_1, "Last 30 days": list_2})
但每次都很难写入/访问特定列。
那么...列的别名是否存在?
列名称的别名是尚不支持 https://github.com/pandas-dev/pandas/issues/11723.
我认为你可以通过以下方式重命名列dict
:
list_1 = [1,2]
list_2 = [5,7]
d = {"by_week": "Last 7 days", "by_month": "Last 30 days"}
df = pd.DataFrame({"by_week": list_1, "by_month": list_2}).rename(columns=d)
print (df)
Last 30 days Last 7 days
0 5 1
1 7 2
df = pd.DataFrame({"by_week": list_1, "by_month": list_2}).rename(columns=d).to_html()
print (df)
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Last 30 days</th>
<th>Last 7 days</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>5</td>
<td>1</td>
</tr>
<tr>
<th>1</th>
<td>7</td>
<td>2</td>
</tr>
</tbody>
</table>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)