Python 如何将新列添加到现有数据框中,并用另一列中的部分数据填充它?

Python 如何将新列添加到现有数据框中,并用另一列中的部分数据填充它?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框 我需要在jobs数据框中添加一个新的列“年”。此列应包含每个post_日期(已经是一列)的相应年份。例如:对于2017年8月16日后的日期值,“年”值应为2017年 我不确定如何在插入新列的同时从预先存在的列中提取数据 使用dt.year: jobs['year'] = pd.to_datetime(jobs['post_date'], errors='coerce').dt.year 我首先将post_date列转换为日期格式。完成此操作后,可以使用一个简单的函数提取年份 j

我有一个数据框

我需要在jobs数据框中添加一个新的列“年”。此列应包含每个post_日期(已经是一列)的相应年份。例如:对于2017年8月16日后的日期值,“年”值应为2017年


我不确定如何在插入新列的同时从预先存在的列中提取数据

使用
dt.year

jobs['year'] = pd.to_datetime(jobs['post_date'], errors='coerce').dt.year

我首先将post_date列转换为日期格式。完成此操作后,可以使用一个简单的函数提取年份

jobs["post_date"] =pd.to_datetime(jobs["post_date"])
应该足以将其更改为datetime类型。如果没有,您应该使用datetime strpstring来告诉python“post_date”列的具体格式,这样就可以将其作为日期来读取。然后执行以下操作:

jobs["year"] =jobs["post_date"].dt.year

如果我正确理解了您的问题,那么您希望从当前数据框中的一列向现有数据框添加一列年值。 要仅提取年份值,需要先进行一些计算。您可以使用pandas datetime.datetime并仅提取Post_date列中的年份值。看一看或看一看。 要存储这些年份值,只需执行以下操作:

jobs['year'] = jobs['post_date'].dt.year

这个问题的答案取决于日期值的存储方式。你能分享一个可复制的例子吗?要添加一个新列(不处理日期,但通常):jobs['newcolname']=jobs['post_date']+一些计算第一个数据框将包含原始数据,然后您需要创建另一个数据框,包含额外的列'year',从第一个数据框开始,只读取列post_date并用“-”分隔从那里0索引将为您提供可以添加到新创建的数据帧的年份