Python 转换对象格式';2014-09-15T11:10:34Z';在字符串或日期时间对象中

Python 转换对象格式';2014-09-15T11:10:34Z';在字符串或日期时间对象中,python,pandas,Python,Pandas,我有一个这样的数据框 日期列类型为对象 我想用年份创建一个新的数字列,例如“2014-09-15T11:10:34Z”到“2014” 如何实现它?尝试使用字符串切片: df['year'] = df['funded_date'].str[0:4].astype(int) 如果数据中有空值,请尝试: df['year'] = pd.to_numeric(df['date'].str[0:4], errors='coerce') 尝试使用字符串切片: df['year'] = df['fund

我有一个这样的数据框

日期列类型为对象


我想用年份创建一个新的数字列,例如“2014-09-15T11:10:34Z”到“2014”


如何实现它?

尝试使用字符串切片:

df['year'] = df['funded_date'].str[0:4].astype(int)
如果数据中有空值,请尝试:

df['year'] = pd.to_numeric(df['date'].str[0:4], errors='coerce')

尝试使用字符串切片:

df['year'] = df['funded_date'].str[0:4].astype(int)
如果数据中有空值,请尝试:

df['year'] = pd.to_numeric(df['date'].str[0:4], errors='coerce')

确保
funded\u date
datetime

df['funded_date'] = pd.to_datetime(df['funded_date'])
现在使用
.year
访问器:

df['funded_year'] = df['funded_date'].year

确保
funded\u date
datetime

df['funded_date'] = pd.to_datetime(df['funded_date'])
现在使用
.year
访问器:

df['funded_year'] = df['funded_date'].year

这是对我有效的答案

df['year'] = pd.to_datetime(df['funded_date']).dt.year
data_categoricals['year'] = df['year']  

这是对我有效的答案

df['year'] = pd.to_datetime(df['funded_date']).dt.year
data_categoricals['year'] = df['year']  

它引发了以下错误:ValueError:无法将浮点NaN转换为integer@Elasri请尝试引发此错误的第二条语句:ValueError:无法将浮点NaN转换为integer@Elasri尝试第二个语句编辑第二行后,它应该
df['funded_year']=df['funded_date'].year
它在编辑第二行后工作,它应该
df['funded_year']=df['funded_date'].year