请原谅我,如果它的格式不正确,这是我的第一篇文章。
我正在将Python与Pandas一起使用,并且我有一列名为“ Month”的列,其下面的值显然是2018年8月的“ 2018-08”。我正在尝试将“ 2018-08”值更改为“八月”或“八月”。
到目前为止,我尝试过的是:
df = df.rename(index = {“ 2018-08”:“ Aug”})
还尝试使用“”代替“”,以免有所作为。
我运行了df.dtypes,并且发现“ Month”列是对象,如果这有所不同。
有人可以帮忙将数值转换为字符串吗?
如果这看起来一团糟,再次道歉!
致谢
答案 0 :(得分:1)
您可以像这样使用datetime
例程:
datetime.datetime.strptime('2018-08', "%Y-%m").strftime('%b') # 'Aug'
或
datetime.datetime.strptime('2018-08', "%Y-%m").strftime('%B') # 'August'
答案 1 :(得分:0)
您可以使用:
df = pd.DataFrame({'Month': ['2018-09', '2000-10', '2003-01', '3098-12']})
month_conversion = {'01': 'Jan', '02': 'Feb', '03': 'Mar', '04': 'Apr',
'05': 'May', '06': 'Jun', '07': 'Jul', '08': 'Aug',
'09': 'Sep', '10': 'Oct', '11': 'Nov', '12': 'Dec'}
df['long_month'] = df['Month'].str.split('-').str[1].map(month_conversion)
df
Month long_month
0 2018-09 Sep
1 2000-10 Oct
2 2003-01 Jan
3 3098-12 Dec