Pandas 在另一列中使用值添加新列

Pandas 在另一列中使用值添加新列,pandas,Pandas,我有一个数据集 id Category Date 1 Sick 2016-10-10 12:10:21 2 Active 2017-09-08 11:09:06 3 Weak 2018-11-12 06:10:04 现在,我想添加一个新列,该列在使用pandas的数据集中只有年份?您可以执行以下操作: impor

我有一个数据集

id     Category    Date
1       Sick      2016-10-10
                  12:10:21
2       Active    2017-09-08
                  11:09:06
3       Weak      2018-11-12
                  06:10:04
现在,我想添加一个新列,该列在使用pandas的数据集中只有年份?

您可以执行以下操作:

import pandas as pd
data = [[1, 'Sick  ', '2016-10-10 12:10:21'],
        [2, 'Active', '2017-09-08 11:09:06'],
        [3, 'Weak  ', '2018-11-12 06:10:04']]

df = pd.DataFrame(data=data, columns=['id', 'category', 'date'])

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

print(df)
输出

id category                 date  year
0   1   Sick    2016-10-10 12:10:21  2016
1   2   Active  2017-09-08 11:09:06  2017
2   3   Weak    2018-11-12 06:10:04  2018

您可以只做
df['year']=pd.DatetimeIndex(df['Date']).year

输出:

    id  category    Date                year
0   1   Sick       2016-10-10 12:10:21  2016
1   2   Active     2017-09-08 11:09:06  2017
2   3   Weak       2018-11-12 06:10:04  2018

@ SurutyAM很高兴我能帮助,如果我的答案是有用的,请考虑将它标记为接受。@ SurutyAM-为了标记一个答案被接受,点击答案旁边的复选标记将它从空格切换到绿色()。非常感谢。