【问题标题】:A leading 0 bug in dataframe?数据框中的领先 0 错误?
【发布时间】:2015-01-04 17:52:14
【问题描述】:

数字中的前导 0 似乎会导致数据帧出错。任何人都可以复制吗?

In [45]: df = pd.DataFrame({'hhmm': [930,1000,1300]})
In [46]: df = pd.DataFrame({'hhmm': [0930,1000,1300]})
  File "<ipython-input-46-3a3038c84b16>", line 1
    df = pd.DataFrame({'hhmm': [0930,1000,1300]})
                                   ^
SyntaxError: invalid token
In [47]: 

【问题讨论】:

  • 嗯不确定这是否相关,但前导零通常意味着它是八进制文字。

标签: python dataframe


【解决方案1】:

前导零导致数字被解释为八进制。 9 不是有效的八进制数字,因此出现错误。

请注意in Python 3, octal literals (numbers with leading 0s) are flat-out disallowed 以避免与基础等混淆。相反,0o 必须用于八进制文字。

【讨论】:

  • 其实 IIRC python 不支持八进制,以避免这种错误。
  • 前导零导致数字被解释为2.x 的八进制数,对于3.x,它只是一个错误.. 对吗?
猜你喜欢
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2018-04-10
  • 1970-01-01
  • 1970-01-01
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多