如何从具有不同日期格式的字符串的列中提取年份

时间:2019-10-08 19:21:23

标签: python regex pandas

我有一个数据框列,其中包含不同类型的字符串,如下所示:

    year
0   1990
1   1998.0
2   2006-02-12

我只想从它们全部中提取年份并将它们转换为intfloat

    year
0   1990
1   1998
2   2006

1 个答案:

答案 0 :(得分:1)

假设只有这些模式,则可以使用str.extract

import pandas as pd

df = pd.DataFrame(data=['1990','1998.0','2006-02-12'], columns=['year'])

result = df.year.str.extract('^(\d{4})')
print(result)

输出

      0
0  1990
1  1998
2  2006

模式^(\d{4})会转换为起始字符串的前4位,因此您基本上是在提取列中每个字符串的前4位。