Pandas DataFrame.to_html() - 格式化程序不适用于日期

时间:2016-05-15 13:12:30

标签: python pandas

我在使用格式化程序替换日期时遇到问题:

>>> import pandas as pd
>>>df = pd.DataFrame([{'A': pd.Timestamp('2016-01-01'), 'B': 3},
                      {'A': pd.Timestamp('2016-02-01'), 'B': 4}])
>>> df
           A  B
0 2016-01-01  3
1 2016-02-01  4

现在的问题是:

df.to_html(formatters={'A': lambda x: '???'})

上面的命令不起作用(日期不变),但下面的命令有效(整数转换为'???')

df.to_html(formatters={'B': lambda x: '???'})

有人知道为什么会这样吗?

Comand:df.to_html(formatters=[lambda x: '???', lambda x: '???'])返回:

'<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>A</th>\n <th>B</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>2016-01-01</td>\n <td>???</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2016-02-01</td>\n <td>???</td>\n </tr>\n </tbody>\n</table>'

1 个答案:

答案 0 :(得分:0)

在早期的pandas版本中,格式化程序不适用于 datetime64[ns] 类型的对象。 在 Pandas 0.18.2 中,此错误已修复。

github

中的大熊猫参考问题