Python 将年度、季度转换为整数

Python 将年度、季度转换为整数,python,string,pandas,Python,String,Pandas,在pandas中,我有一列以下格式的数据: 时期 2018年第一季度 2018年第二季度 2018年第三季度 2018年第4季度 2019年第一季度 2019年第二季度 2019年第三季度 2019年第4季度 ... 当前数据类型格式为对象/字符串。有没有办法将数据转换为int64?我不一定需要datetime格式,但是如果它是唯一的解决方案,那就好了 提前谢谢我认为最简单的方法应该是将Q替换为空字符串,然后将值转换为整数: df['Period'] = df['Period'].str.r

在pandas中,我有一列以下格式的数据:


时期
2018年第一季度
2018年第二季度
2018年第三季度
2018年第4季度
2019年第一季度
2019年第二季度
2019年第三季度
2019年第4季度
...
当前数据类型格式为对象/字符串。有没有办法将数据转换为int64?我不一定需要datetime格式,但是如果它是唯一的解决方案,那就好了


提前谢谢

我认为最简单的方法应该是将
Q
替换为空字符串,然后将值转换为整数:

df['Period'] = df['Period'].str.replace(' Q', '').astype(int)
print (df)
   Period
0   20181
1   20182
2   20183
3   20184
4   20191
5   20192
6   20193
7   20194
如果需要datetimes或Quarter句点,请与空格一起使用,对于句点:


“2018年第一季度”的整数等价物是什么?你能发布你的预期产出吗?我对“2018年第一季度”或“2018-第一季度”或类似产品感到满意。我只需要int/int64中的数据,因为我发现使用数据集更容易
df['Dates'] = pd.to_datetime(df['Period'].str.replace('\s+', ''))
df['Per'] = pd.to_datetime(df['Period'].str.replace('\s+', '')).dt.to_period('Q')
print (df)
    Period      Dates     Per
0  2018 Q1 2018-01-01  2018Q1
1  2018 Q2 2018-04-01  2018Q2
2  2018 Q3 2018-07-01  2018Q3
3  2018 Q4 2018-10-01  2018Q4
4  2019 Q1 2019-01-01  2019Q1
5  2019 Q2 2019-04-01  2019Q2
6  2019 Q3 2019-07-01  2019Q3
7  2019 Q4 2019-10-01  2019Q4