Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas\u Excel更改格式和数据类型_Python_Excel_Pandas_Dataframe - Fatal编程技术网

Python Pandas\u Excel更改格式和数据类型

Python Pandas\u Excel更改格式和数据类型,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我有来自sql的数据框架 日期列不是我可以处理的列。因此,我需要更改格式,如“%d.%m.%t%H:%m”。当我尝试更改格式时: df3["ACT_START_DATE"]=pd.to_datetime(df3["ACT_START_DATE"]) df3["ACT_START_DATE"]=df3["ACT_START_DATE"].dt.strftime("%d.%m.%Y %H:%m")

我有来自sql的数据框架

日期列不是我可以处理的列。因此,我需要更改格式,如“%d.%m.%t%H:%m”。当我尝试更改格式时:

df3["ACT_START_DATE"]=pd.to_datetime(df3["ACT_START_DATE"])
df3["ACT_START_DATE"]=df3["ACT_START_DATE"].dt.strftime("%d.%m.%Y %H:%m")
结果

1-为什么时间会改变

2-除了小时更改之外,是否还有其他方法可以同时更改所有日期列

提前谢谢。

由于格式错误,“分钟”部分正在更改

请注意格式:
%d.%m.%Y%H:%m

%m
实际上是月份
因此,不是导出分钟,而是在那里导出月份值

将其更改为
%d.%m.%Y%H:%m:%S
,您会没事的
(请注意,差异是资本M与小M)

至于更改多个列,您只需使用

my_df[['column1','column2']] =     
my_df[['column1','column2']].apply(pd.to_datetime, format='%d.%m.%Y %H:%M%S')

或者按照您喜欢的思路做一些事情首先,感谢您的回复。但给出了ValueError:(“时间数据'2019-12-29 08:00:00'与格式'%d.%m.%Y%H:%m'(匹配),'发生在索引开始日期')错误是自解释的。您可以看到数据是“2019-12-29 08:00:00”,格式是“%d.%m.%Y%H:%m”,因此很明显它缺少“seconds”参数。因此,只需更改格式以包含如下秒:
%d.%m.%Y%H:%m:%S
。我已经更新了答案,但仍然有错误。它希望我将格式写入源“%Y-%m-%d…”,然后使用dt.strftime(格式),但apply方法不起作用。另一个问题是,如果值为空或null,则返回“NaT”。日期在Excel中显示为字符串还是日期类型?在Excel中显示为“常规”