我正在处理一个规模不足的数据库
data.shape
(18701954, 12)
该数据库中的一列包含月份说明,
data.PERIOD_DESC.unique()
array(['Apr-19', 'May-19', 'Jun-19', 'Jul-19', 'Aug-19', 'Sep-19',
'Oct-19', 'Nov-19', 'Dec-19', 'Jan-20', 'Feb-20', 'Mar-20',
'Apr-20', 'May-20'], dtype=object)
我想用“月份描述”替换列到“数值月份”值,并使用下面的代码
data = data.replace(['Apr-19', 'May-19', 'Jun-19', 'Jul-19', 'Aug-19', 'Sep-19','Oct-19', 'Nov-19', 'Dec-19', 'Jan-20', 'Feb-20', 'Mar-20','Apr-20', 'May-20'],[201904, 201905, 201906, 201907, 201908, 201909, 201910,201911, 201912, 202001, 202002, 202003, 202004, 202005])
现行守则需要相当长的时间。 有没有其他方法可以以不同的方式(用更少的时间)完成这个任务。
我已经考虑了下面的链接,但我想我已经在做建议的事情了。 替换整个数据帧中的字符串/值
也许您可以只对感兴趣的列执行替换操作,因为replace
操作当前遍历所有12列:
data['PERIOD_DESC'] = df[['PERIOD_DESC']].replace(['Apr-19', 'May-19', 'Jun-19', 'Jul-19', 'Aug-19', 'Sep-19','Oct-19', 'Nov-19', 'Dec-19', 'Jan-20', 'Feb-20', 'Mar-20','Apr-20', 'May-20'],[201904, 201905, 201906, 201907, 201908, 201909, 201910,201911, 201912, 202001, 202002, 202003, 202004, 202005])