我在使用格式化程序替换日期时遇到问题:
>>> 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>'
答案 0 :(得分:0)
在早期的pandas版本中,格式化程序不适用于 datetime64[ns]
类型的对象。
在 Pandas 0.18.2 中,此错误已修复。