使用pandas将ddmmyy转换为mmyy格式?

时间:2018-03-09 10:13:47

标签: pandas

我有ddmmyy格式的列(月),我如何将其转换为mmyy格式。


2017年6月1日 2017年5月1日  我使用下面的代码,有人可以帮助

import pandas as pd
df = pd.read_csv(r"C:\Users\venkagop\Subbu\UK_IYA.csv")
df['Month']=pd.to_datetime(df['Month'],format='%d/%m/%y')
df.to_csv(r"C:\Users\venkagop\Subbu\my test.csv")

1 个答案:

答案 0 :(得分:1)

我认为您可以通过参数parse_datesdayfirst将列转换为read_csv中的日期时间,然后按strftime转换为自定义格式:

df = pd.read_csv(r"C:\Users\venkagop\Subbu\UK_IYA.csv", parse_dates=['Month'], dayfirst=True)
df['Month']= df['Month'].dt.strftime('%b %y')
df.to_csv(r"C:\Users\venkagop\Subbu\my test.csv")

您的代码:

df = pd.read_csv(r"C:\Users\venkagop\Subbu\UK_IYA.csv")
df['Month']=pd.to_datetime(df['Month'],format='%d/%m/%y').dt.strftime('%b %y')
df.to_csv(r"C:\Users\venkagop\Subbu\my test.csv")

<强>示例

import pandas as pd

temp=u"""Month,sale
05/03/12,2
05/04/12,4
05/05/12,6
05/06/12,8"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), parse_dates=['Month'], dayfirst=True)
print (df)
       Month  sale
0 2012-03-05     2
1 2012-04-05     4
2 2012-05-05     6
3 2012-06-05     8
df['Month']= df['Month'].dt.strftime('%b %y')
print (df)
    Month  sale
0  Mar 12     2
1  Apr 12     4
2  May 12     6
3  Jun 12     8