python - 从 Pandas DataFrame 中的 YYYYMMDD 列中提取年份

标签 python date pandas python-datetime

我有一个 pandas DataFrame,我想在其中创建一个附加列,仅包含我从 YYYYMMDD 格式的列中提取的年份。 在搜索论坛时,我发现了 to_datetime 命令,但对于我的情况来说它不起作用。

我尝试了以下方法:

df = pd.DataFrame({'name' : ['A','B'],
                   'date' :[20130102,20140511]})

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

我得到的输出是:

                           date name   year
0 1970-01-01 00:00:00.020130102    A   1970
1 1970-01-01 00:00:00.020140511    B   1970

但我想得到:

       date name  year
0  20130102    A  2013
1  20140511    B  2014

我也在没有 to_datetime 的情况下尝试过,因为我的日期不完全采用 yyyy-mm-dd 格式,但也无法做到这一点。 我希望你能帮助我解决这个“新手”问题,非常感谢!

最佳答案

这就是您所需要的,用于指定提供日期的格式。

 df['date'] = pd.to_datetime(df['date'],format='%Y%m%d')

关于python - 从 Pandas DataFrame 中的 YYYYMMDD 列中提取年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873337/

相关文章:

python - 找到多米诺骨牌顺序的有效方法

javascript日期对象更改

python - 时间序列按周分组 python

python - Pandas 系列 str.extract 无法匹配正则表达式模式

python - Pycharm 和 sys.argv 参数

python - 谷歌在 Pythonanywhere 上登录

python - 使用 session 对象从某些表中仅选择某些列

r - charToDate(x) 中的错误

Java:列出开始日期和结束日期之间的日期

python - 我想删除 pandas 数据框中某列中的前 n 个条目