合并Pandas DataFrame DateTime列

圣地亚哥·穆涅斯(Santiago Munez)

大概我有如下数据框:

Year Month Day
2003 1     8
2003 2     7

如何在数据框的新定义列中组合年,月和日,因此该数据框将是:

Year Month Day Date
2003 1     8   2003-1-8
2003 2     7   2003-2-7

有什么想法吗?

我正在使用pandas python dataframe

谢谢!

维克多·凯尔兹(Viktor Kerkez)
>>> from datetime import datetime
>>> df['Date'] = df.apply(lambda row: datetime(
                              row['Year'], row['Month'], row['Day']), axis=1)
>>> df
   Year  Month  Day                Date
0  2003      1    8 2003-01-08 00:00:00
1  2003      2    7 2003-02-07 00:00:00

更新2020-03-12:sacul的答案越来越好:

%%timeit
df.apply(lambda row: datetime(
                              row['Year'], row['Month'], row['Day']), axis=1)

2.53 s ± 169 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

# use below, above is slow!!!
%%timeit
pd.to_datetime(df[['Year','Month','Day']])

14.4 ms ± 3.37 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

合并Pandas DataFrame后,DateTime格式更改

合并 Pandas DataFrame 的所有列

在创建MultiIndex列时合并Pandas DataFrame

将pandas DataFrame与datetime列连接

合并以相同字母开头的pandas DataFrame列

Pandas DataFrame-将日期列标题与时间行合并

通过比较多列来合并pandas DataFrame中的行

合并Pandas Dataframe中不同类型的列

合并Dataframe(Pandas)中的所有列-python3

如何在 Pandas DataFrame 中合并多级列?

合并Pandas DataFrame字典

Pandas DataFrame 合并/加入

使用Datetime索引或列查询Python Pandas DataFrame

将pandas dataframe列转换为np.datetime64

使用Pandas DataFrame列中的值更改DateTime对象的日期

将朴素的datetime列转换为新的时区Pandas Dataframe

将Pandas DataFrame中的列合并到DataFrame中的列表列

在 Pandas Dataframe 的新行中将两列合并为一列

合并具有相同列和不同列的两个Pandas DataFrame

pandas DataFrame:标准化一个JSON列并与其他列合并

如何在Pandas Dataframe中合并具有相似名称的多个列而不丢失数据

当列中的项目为列表时,列上合并 Pandas DataFrame 的类型错误

如何在列中的匹配值上合并两个Pandas DataFrame

如何在pandas DataFrame中对两列进行条件的,复杂的“合并”?

如何仅将一列合并到Pandas DataFrame中

Pandas:如何合并来自不同 DataFrame 列的列表的第 i 个元素?

在列的子集和索引上合并两个pandas DataFrame

基于 Pandas.Dataframe 中的多列合并多个重复行

合并具有不同行和列数的Pandas 2 DataFrame