Python Pandas:当day小于13时,pandas.to_datetime()切换日期和月份 - python

我编写了一个读取多个文件的代码,但是在我的某些文件中,日期时间交换日期和月份的时间不超过13天,而从13天开始的任何一天(即13/06/11)仍然正确(DD / MM / YY)。
我试图通过执行此操作来修复它,但是它不起作用。

我的数据框如下所示:
实际日期时间为2015年6月12日至2015年6月13日
当我以字符串形式读取datetime列时,日期仍然正确dd / mm / yyyy

tmp                     p1 p2 
11/06/2015 00:56:55.060  0  1
11/06/2015 04:16:38.060  0  1
12/06/2015 16:13:30.060  0  1
12/06/2015 21:24:03.060  0  1
13/06/2015 02:31:44.060  0  1
13/06/2015 02:37:49.060  0  1

但是,当我将列的类型更改为datetime列时,它会将每天的日期和月份交换为少于13的每一天。

输出:

print(df)
tmp                  p1 p2 
06/11/2015 00:56:55  0  1
06/11/2015 04:16:38  0  1
06/12/2015 16:13:30  0  1
06/12/2015 21:24:03  0  1
13/06/2015 02:31:44  0  1
13/06/2015 02:37:49  0  1

这是我的代码:

我遍历文件:

df = pd.read_csv(PATH+file, header = None,error_bad_lines=False , sep = '\t')

然后,当我的代码完成读取所有我串联的文件时,问题是我的datetime列需要为datetime类型,因此当我通过pd_datetime()更改其类型时,它将交换日期和月份,而该日期小于13 。

发布转换我的datetime列中的日期是正确的(字符串类型)

print(tmp) # as a result I get 11.06.2015 12:56:05 (11june2015)

但是,当我更改列类型时,我得到了:

tmp = pd.to_datetime(tmp, unit = "ns")
tmp = temps_absolu.apply(lambda x: x.replace(microsecond=0))
print(tmp) # I get 06-11-2016 12:56:05 (06november2015 its not the right date)

问题是:当日期小于13时,我应该使用或更改哪个命令以停止日和月的交换?

更新
此命令交换我专栏的所有日期和月份

tmp =  pd.to_datetime(tmp, unit='s').dt.strftime('%#m/%#d/%Y %H:%M:%S') 

因此,为了只交换不正确的日期,我写了一个条件:

for t in tmp:
        if (t.day < 13):
            t = datetime(year=t.year, month=t.day, day=t.month, hour=t.hour, minute=t.minute, second = t.second)

但这也不起作用

参考方案

您可以在dayfirst中使用pd.to_datetime参数。

pd.to_datetime(df.tmp, dayfirst=True)

输出:

0   2015-06-11 00:56:55
1   2015-06-11 04:16:38
2   2015-06-12 16:13:30
3   2015-06-12 21:24:03
4   2015-06-13 02:31:44
5   2015-06-13 02:37:49
Name: tmp, dtype: datetime64[ns]

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

python :安装 python 后,如何导入 Pandas - python

我已经安装了 python 。现在,当我尝试跑步时import pandas as pd 我收到以下错误Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import pandasFile ImportError: …

Python Pandas检查数据框是否不为空 - python

我有一个if语句,它在其中检查数据框是否为空。我的操作方式如下:if dataframe.empty: pass else: #do something 但实际上我需要:if dataframe is not empty: #do something 我的问题是-是否有一种.not_empty()方法可以实现这一目标?我还想问一下第二个版本在性能方面是否更好…

Python Pandas:按分组分组,平均? - python

我有一个像这样的数据框:cluster org time 1 a 8 1 a 6 2 h 34 1 c 23 2 d 74 3 w 6 我想计算每个集群每个组织的平均时间。预期结果:cluster mean(time) 1 15 ((8+6)/2+23)/2 2 54 (74+34)/2 3 6 我不知道如何在熊猫中做到这一点,有人可以帮忙吗? 参考方案 如…

Python Pandas:在多列上建立布尔索引 - python

尽管至少有关于如何在Python的pandas库中为DataFrame编制索引的two good教程,但我仍然无法在一个以上的列上找到一种优雅的SELECT编码方式。>>> d = pd.DataFrame({'x':[1, 2, 3, 4, 5], 'y':[4, 5, 6, 7, 8]}) >…