遍历索引并将每个范围定义为一天

我的最后一个问题没有找到任何帮助/答案,我找到了另一种方法,我想知道是否有可能迭代设置为索引的列(DateTime为pandas格式:

  • 2019-05-02 00:03:00
  • 2019-05-02 00:08:00
  • 2019-05-02 00:13:00
  • 2019-05-02 00:18:00
  • 2019-05-02 00:23:00
  • 2019-05-02 00:28:00
  • 2019-05-02 00:33:00
  • ...

,以便在迭代期间我可以指定从00:03:00到23:59:00的范围是一天 (做某事),依此类推。我在处理熊猫上的日期对象时遇到问题。 谢谢您的帮助。

wwwoo00mv 回答:遍历索引并将每个范围定义为一天

您可以像这样在day的{​​{1}}上进行循环。

datetime

这将为您提供以下结果:

import pandas as pd
from datetime import datetime,timedelta

df = pd.DataFrame(columns=['SomeDatetime'],index=[0,1,2,3,4,5])
now = datetime.now()
df.loc[0,'SomeDatetime'] = now + timedelta(minutes = 10)
df.loc[1,'SomeDatetime'] = now - timedelta(days = 1)
df.loc[2,'SomeDatetime'] = now + timedelta(minutes = 15)
df.loc[3,'SomeDatetime'] = now + timedelta(minutes = 20)
df.loc[4,'SomeDatetime'] = now + timedelta(minutes = 50)
df.loc[5,'SomeDatetime'] = now + timedelta(minutes = 90)

print("Dataframe\n")
print(df)
print("\nDay Loop\n")
for day in df['SomeDatetime'].dt.day.unique():
    day_value = df[df['SomeDatetime'].dt.day == day]
    print(day_value)

您也可以为Dataframe SomeDatetime 0 2019-11-15 09:02:47.784752 1 2019-11-14 08:52:47.784752 2 2019-11-15 09:07:47.784752 3 2019-11-15 09:12:47.784752 4 2019-11-15 09:42:47.784752 5 2019-11-15 10:22:47.784752 Day Loop SomeDatetime 0 2019-11-15 09:02:47.784752 2 2019-11-15 09:07:47.784752 3 2019-11-15 09:12:47.784752 4 2019-11-15 09:42:47.784752 5 2019-11-15 10:22:47.784752 SomeDatetime 1 2019-11-14 08:52:47.784752 和其他用户执行此操作。
评论后编辑

week

结果:

import numpy as np
import pandas as pd
from datetime import datetime,timedelta

df = pd.DataFrame(columns=['SomeDatetime','x','y'],'SomeDatetime'] = now - timedelta(days = 30*4)  - timedelta(days = 3)

df['x'] = pd.Series(np.random.randn(6))
df['y'] = pd.Series(np.random.randn(6))

df.set_index('SomeDatetime',inplace=True)

print("Dataframe\n")
print(df)
print("\nDay Loop\n")

for date in df.index.to_series().dt.date.unique():
    print(date)
    day_value = df[df.index.to_series().dt.date == date]
    print(day_value)
    print('\n')


有帮助吗?

本文链接:https://www.f2er.com/3097265.html

大家都在问