Python 在熊猫的datetime值列中混合天数和月份
我想在熊猫格式的日期,有年,月,日。我的日期是从四月到九月。我没有一月、二月等的值,但有时我的熊猫以月为单位读取日,以日为单位读取月。看看索引16或84Python 在熊猫的datetime值列中混合天数和月份,python,pandas,Python,Pandas,我想在熊猫格式的日期,有年,月,日。我的日期是从四月到九月。我没有一月、二月等的值,但有时我的熊猫以月为单位读取日,以日为单位读取月。看看索引16或84 6 2019-08-26 15:10:00 7 2019-08-25 13:22:00 8 2019-08-24 16:06:00 9 2019-08-23 15:13:00 10 2019-08-22 14:24:00 11 2019-08-21 14:02:00 12 2019-08-16 12:31:0
6 2019-08-26 15:10:00
7 2019-08-25 13:22:00
8 2019-08-24 16:06:00
9 2019-08-23 15:13:00
10 2019-08-22 14:24:00
11 2019-08-21 14:02:00
12 2019-08-16 12:31:00
13 2019-08-15 15:31:00
14 2019-08-14 14:46:00
15 2019-08-13 17:13:00
16 2019-11-08 15:54:00
17 2019-10-08 10:07:00
68 2019-06-06 11:22:00
69 2019-05-06 15:16:00
70 2019-01-06 17:02:00
75 2019-05-21 09:01:00
76 2019-05-19 16:52:00
77 2019-05-15 15:40:00
78 2019-10-05 13:34:00
81 2019-06-05 11:55:00
82 2019-03-05 17:28:00
83 2019-02-05 18:01:00
84 2019-01-05 17:05:00
85 2019-01-05 09:57:00
86 2019-04-30 10:16:00
87 2019-04-29 17:51:00
88 2019-04-27 17:42:00
如何解决这个问题?
我希望有日期类型值*(年-月-日),没有时间,以便我可以按天或按月分组
我尝试过这个,但不起作用:
df['Created'] = pd.to_datetime(df['Created'], format = 'something')
对于按月分组,我尝试了以下方法:
df['Created'] = df['Created'].dt.to_period('M')
示例数据解决方案-您可以使用两种格式创建两种可能的日期时间,并使用
errors='concurve'
查找不匹配中的缺失值,然后使用或替换第二个系列(YYYY-DD-MM
)中的缺失值,第一个系列(YYYY-MM-DD
):
我创建了一个虚拟数据帧来解析它。尝试strftime
from datetime import datetime
import time
import pandas as pd
time1 = datetime.now()
time.sleep(6)
time2 = datetime.now()
df = pd.DataFrame({'Created': [time1, time2]})
df['Created2'] = df['Created'].apply(lambda x: x.strftime('%Y-%m-%d'))
print(df.head())
如何读取数据?可以使用dayfirst
选项read\u csv
?
print (df)
Created
6 2019-08
7 2019-08
8 2019-08
9 2019-08
10 2019-08
11 2019-08
12 2019-08
13 2019-08
14 2019-08
15 2019-08
16 2019-08
17 2019-08
68 2019-06
69 2019-06
70 2019-06
75 2019-05
76 2019-05
77 2019-05
78 2019-05
81 2019-05
82 2019-05
83 2019-05
84 2019-05
85 2019-05
86 2019-04
87 2019-04
88 2019-04
from datetime import datetime
import time
import pandas as pd
time1 = datetime.now()
time.sleep(6)
time2 = datetime.now()
df = pd.DataFrame({'Created': [time1, time2]})
df['Created2'] = df['Created'].apply(lambda x: x.strftime('%Y-%m-%d'))
print(df.head())