【发布时间】:2020-08-17 20:29:10
【问题描述】:
我正在尝试操作具有一系列日期的 csv 文件,这些日期在一个列或另一列中不一致地使用“CE”和“BCE”。想象一个精简的例子:
ID,earliestdate, latestdate
1,1st century, 2nd century CE
2,3rd century, 2nd century BCE
如果 df['latestdate'] 中的“CE”,我如何编写一个将“CE”连接到 df['earliestdate'] 的函数?
【问题讨论】:
-
不一致地使用“CE”和“BCE”的日期你怎么知道它们的使用不一致?
CE不等于BCE。事实上,日期看起来应该是这样的。 1 世纪到 2 世纪应该是 CE 或普通时代,而 3 世纪到 2 世纪应该是 BCE 或普通时代之前。 -
BCE 和 CE 分别是酒神 BC 和 AD 系统的替代品。
-
另外,你怎么知道,在最晚日期是 CE 的行中,最早的日期不是 BCE?对于
ID 1,最早的日期可能是1st century BCE。您唯一可以确定的是,如果最晚日期是 BCE,那么最早日期也必须是 BCE。 -
对于上下文,我拆分了一个包含一系列字符串的列,格式为“公元 1-2 世纪”,通常表示“公元 1 世纪 - 公元 2 世纪”,我试图解析 1st 以阅读公元 1 世纪。拆分列时有没有办法把它拼出来?
-
那应该可以了。我认为 intermezzio 的解决方案可以满足您的要求。
标签: python-3.x pandas csv