【发布时间】:2016-06-22 03:28:46
【问题描述】:
我知道 pandas 会截断长元素。但是,为什么它会在 html 输出中这样做呢?
import pandas as pd
df = pd.DataFrame(columns=['url'], index=[0])
df['url'] = 'd12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209'
In [2]: df
Out[2]:
url
0 d12dn1928d1n298dn18d9n219d8n18n118219d8n21e129...
In [3]: df.to_html()
Out[3]: u'<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>url</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>d12dn1928d1n298dn18d9n219d8n18n118219d8n21e129...</td>\n </tr>\n </tbody>\n</table>'
即使在 html 输出中(很明显它不适合屏幕宽度),列值也会被截断。如何强制 pandas 不截断,无论有无 html?
【问题讨论】:
-
@EdChum 对于非 html 部分,我猜。但是,我也部分地询问它背后的逻辑。为什么对于 html 表,列长度无论如何都不重要,值仍然被截断?
-
好吧,它也为
to_string执行此操作,至于为什么我认为这只是一个约定,因此您的终端不会因为尝试显示非常宽的数据和大量行而感到厌烦,基础数据是不受影响。