gpt4 book ai didi

python-3.x - 如何在Pandas中一次将多列数据类型格式转换为另一种数据类型格式,而又不提及列名称?

转载 作者:行者123 更新时间:2023-12-03 09:40:44 26 4
gpt4 key购买 nike

我有20多个具有datetime64[ns]格式的列的数据框。我想将它们全部转换为stringtime。有没有简单的方法可以做到这一点。

Data.dtypes
LT_TOTAL float64
INSERT_DT datetime64[ns]
M0_ACT_0400 datetime64[ns]
M0_ACT_0500 datetime64[ns]
M2_ACT_1100 datetime64[ns]
M1_ACT_1240 datetime64[ns]
M3_ACT_1305 datetime64[ns]
M4_ACT_1400 datetime64[ns]
M5_ACT_1600 datetime64[ns]
M6_ACT_2990 datetime64[ns]
M7_ACT_3000 object


正常方式

data.loc[:,'M4_INI_1400'] =data.loc[:,'M4_INI_1400'].dt.strftime('%Y-%m-%d')


当前如果有20列,我需要重复此语句20次。我正在寻找另一种简单的方法。

任何帮助表示赞赏

最佳答案

一种简单的方法是选择具有dtype datetime64的列。将它们切出,stack并调用dt.strftime('%Y-%m-%d')unstack并将它们分配回去

cols = df.select_dtypes('datetime64').columns
df[cols] = df[cols].stack().dt.strftime('%Y-%m-%d').unstack()


注意:在大数据帧上,我不知道这种方法的速度。

关于python-3.x - 如何在Pandas中一次将多列数据类型格式转换为另一种数据类型格式,而又不提及列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com