首页 > 解决方案 > 在列的每个值中添加一个元素

问题描述

我有一列给出日期(它的类型是 str),另一列给出名字,我希望 2020 年的所有名字在名字的末尾都有“_2020”,2021 年也是如此,以及它的 pandas DataFrame。

由于我有数千行,我需要一个自动执行任务的循环。

这就像从这个开始:

时间 姓名
2020-12-26 约翰
2020-05-06 杰克
2021-03-06 史蒂夫

对此:

时间 姓名
2020-12-26 约翰_2020
2020-05-06 杰克_2020
2021-03-06 史蒂夫_2021

标签: pythonpandasdataframe

解决方案


尝试:

df['Time']=pd.to_datetime(df['Time'])
#ensure that Time column is of dtype datetime[ns]
df['Name']=df['Name']+'_'+df['Time'].dt.year.astype(str)
#finally assign columns

df的输出:

    Time        Name
0   2020-12-26  John_2020
1   2020-05-06  Jack_2020
2   2021-03-06  Steve_2021

推荐阅读