我正在尝试使用Python将数据框中的多个列重命名为某些日期。
当前,列如下:2016-04、2016-05、2016-06 ....
我希望专栏阅读:2016年4月,2016年5月,2016年6月...
大约有40列。我猜想for循环将是执行此操作的最有效方法,但是我对Python相对较新,并且不确定如何正确连接列名。
答案 0 :(得分:0)
您可以使用循环或理解以及月份字典来拆分,重新排序和替换字符串列名称
#in your case this would be cols=df.columns
cols=['2016-04', '2016-05', '2016-06']
rpl={'04':'April','05':'May','06':'June'}
cols=[\
''.join(\
[rpl[i.split('-')[1]],
i.split('-')[0]]) \
for i in cols]
cols
['April2016', 'May2016', 'June2016']
#then you would assign it back with df.columns = cols
答案 1 :(得分:-1)
您没有共享数据框,因此我使用基本数据框来说明如何获取给定的月份。我认为您的数据框喜欢:
d = {'dates': ['2016-04', '2016-05','2016-06']} #just 3 of them
所有代码:
import datetime
import pandas as pd
d = {'dates': ['2016-04', '2016-05','2016-06']}
df = pd.DataFrame(d)
for index, row in df.iterrows():
get_date= row['dates'].split('-')
get_month = get_date[1]
month = datetime.date(1900, int(get_month), 1).strftime('%B')
print (month+get_date[0])
输出:
2016April
2016May
2016June