Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串转换为日期格式_Python_String_Datetime_Pandas_Dataframe - Fatal编程技术网

Python 将字符串转换为日期格式

Python 将字符串转换为日期格式,python,string,datetime,pandas,dataframe,Python,String,Datetime,Pandas,Dataframe,我有一个数据框,其中一列字符串表示月份和年份(MM-YY),但我需要它像yyy,MM,DD,例如2015,10,01 for i in df['End Date (MM-YY)']: print i Mar-16 Nov-16 Jan-16 Jan-16 print type(i) <type 'str'> <type 'str'> <type 'str'> <type

我有一个数据框,其中一列字符串表示月份和年份(
MM-YY
),但我需要它像
yyy,MM,DD
,例如
2015,10,01

for i in df['End Date (MM-YY)']:
    print i

    Mar-16
    Nov-16
    Jan-16
    Jan-16

    print type(i)

    <type 'str'>
    <type 'str'>
    <type 'str'>
    <type 'str'>
df中i的<代码>[结束日期(MM-YY)]: 打印i 三月十六日 11月16日 1月16日 1月16日 打印类型(i) 我认为您可以与参数一起使用:

如果需要将日期列转换为月份的最后一天,请使用:


您可以使用Lambda和Map函数,其引用在此处,并与参数格式的to_datetime结合使用


你能提供更多关于你正在使用的数据的信息吗。我可以根据这部分信息进一步完善我的答案。谢谢

如果你想做我认为你是

使用
datetime.datetime.strtime
方法!这是一种很好的方法,可以指定希望日期以字符串形式显示的格式,并返回一个很好的datetime obj供您使用


您甚至可以使用
datetime.datetime.strftime
将其转换回不同格式的字符串

如果我需要每个月的最后日期都一样呢??
df = pd.DataFrame({'End Date (MM-YY)': {0: 'Mar-16', 
                                        1: 'Nov-16', 
                                        2: 'Jan-16', 
                                        3: 'Jan-16'}})
print df
  End Date (MM-YY)
0           Mar-16
1           Nov-16
2           Jan-16
3           Jan-16

print pd.to_datetime(df['End Date (MM-YY)'], format='%b-%y')
0   2016-03-01
1   2016-11-01
2   2016-01-01
3   2016-01-01
Name: End Date (MM-YY), dtype: datetime64[ns]

df['date'] = pd.to_datetime(df['End Date (MM-YY)'], format='%b-%y')
df['date-end-month'] = df['date'] + pd.offsets.MonthEnd()
print df

  End Date (MM-YY)       date date-end-month
0           Mar-16 2016-03-01     2016-03-31
1           Nov-16 2016-11-01     2016-11-30
2           Jan-16 2016-01-01     2016-01-31
3           Jan-16 2016-01-01     2016-01-31