Python 将年度、季度转换为整数
在pandas中,我有一列以下格式的数据: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
时期
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