使用熊猫在另一列中使用值添加新列

时间:2018-12-21 08:42:59

标签: 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

现在我想添加一个新列,其中使用熊猫在数据集中仅包含年份?

2 个答案:

答案 0 :(得分:1)

您可以这样做:

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

答案 1 :(得分:1)

您可以只做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