首页 > 解决方案 > 在 pandas 中拆分时间戳日期

问题描述

我有一个关于熊猫问题的问题:

所以我有一个如下所示的数据框:

timestamp     user     exercises
2018-01-01    John         7
2018-01-01    Mary         9
2018-02-01    John         3
2018-02-01    Mary         2
2018-03-01    John         1
2018-03-01    Mary         5
2019-01-01    John         3
2019-01-01    Mary         4
2019-02-01    John         2
2019-02-01    Mary         5
2020-01-01    John         6
2020-01-01    Mary         2
2020-02-01    John         1
2020-02-01    Mary         2

我需要得到一个输出数据框,它是给定数据框的子集,但它必须只保留 2018 年的数据,如下所示:

    timestamp     user     exercises
    2018-01-01    John         7
    2018-01-01    Mary         9
    2018-02-01    John         3
    2018-02-01    Mary         2
    2018-03-01    John         1
    2018-03-01    Mary         5

关于如何从给定数据框中获取此输出数据框的任何想法?

非常感谢您提前。

任何帮助将不胜感激。

标签: pythonpython-3.xpandassplittimestamp

解决方案


尝试:

import pandas as pd
import datetime as dt

df = pd.DataFrame({"timestamp": ['2018-01-01',
                                 '2018-01-01',
                                 '2019-01-01',
                                 '2020-01-01'],
                   "user": ['john', 'mary', 'john', 'mary'],
                   'exercises': [7,9,3,2]},)


df['timestamp'] = pd.to_datetime(df['timestamp'])

df[df['timestamp'].dt.year == 2018]

输入

    timestamp   user    exercises
0   2018-01-01  john    7
1   2018-01-01  mary    9
2   2019-01-01  john    3
3   2020-01-01  mary    2

输出

timestamp   user    exercises
0   2018-01-01  john    7
1   2018-01-01  mary    9

推荐阅读