如何解决如何使用正则表达式和熊猫创建月份和年份列
Hello Stack溢出社区
我在这里有数据框
code sum of August
AA 1000
BB 4000
CC 72262
所以有两列['code','Aug of sum']
我必须将此dataFrame转换为['month','year','code','August sum']列
month year code sum of August
8 2020 AA 1000
8 2020 BB 4000
8 2020 CC 72262
因此[[八月总和]]列有时仅命名为['August']或['august']。有时也可以是['十一月之和']或['十一月']或['十一月']。
我想到了使用正则表达式提取月份名称并隐式转换为月份号。
有人可以帮我吗?
谢谢!
解决方法
您可以执行以下操作:
{
"type": "mysql","host": "localhost","port": 3306,"username": "test","password": "test","database": "test","host": "localhost"
}
比方说,您的数据框称为 df 。然后,您可以使用以下命令自动创建月列:
month = {1:'janauary',2:'february',3:'march',4:'april',5:'may',6:'june',7:'july',8:'august',9:'september',10:'october',11:'november',12:'december'}
这意味着,如果以任何方式在列名称中存在一个月的名称,则返回该月的数字。
,您似乎正在尝试将月份名称转换为其数字,并且列可以为大写或小写。 这可能有效:
months = ['january','febuary','march','april','may','june','july','august','september','october','november','december']
monthNum = []#If you're using a list,just to make this run
sumOfMonths = ['sum of august','sum of NovemBer']#Just to show functionality
for sumOfMonth in sumOfMonths:
for idx,month in enumerate(months):
if month in sumOfMonth.lower():#If the column month name has any of the month keywords
monthNum.append(str(idx + 1)) #i'm just assuming that it's a list,just add the index + 1 to your variable.
我希望这会有所帮助!当然,这不是您要做的事情,如果不使用它,则填写变量并更改append()。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。