당신은 groupby와 올바른 생각을 가지고 있습니다. 그 날까지 데이터를 분할하여 해당 그룹에 대한 액세스 권한을 부여 할 수 있습니다. 여기의 트릭은 Series df [ 'date_time']에서 apply 메소드를 사용하는 것입니다. 계열에 적용하면 입력 요소 요소를 현명하게 적용하고 새로운 계열을 반환합니다. 이를 사용하여 일별로 나눌 수 있으며 다시 한 시간 씩 나눌 수 있습니다.
입력
df = """ date_time open high low close volume
97759 2014-07-17 18:00:00 0.93702 0.93790 0.93696 0.93789 2098
97758 2014-07-18 19:00:00 0.93702 0.93790 0.93696 0.93789 2098
97756 2014-07-18 20:00:00 0.93702 0.93790 0.93696 0.93789 2098"""
df = pd.read_csv(StringIO(df),sep="\s\s+")
df['date_time'] = df["date_time"].apply(lambda x: pd.to_datetime(x))
솔루션
#groupSeries = df["date_time"].apply(lambda x: pd.to_datetime(x).date()) #if date_time column isn't already datetime
groupSeries = df["date_time"].apply(lambda x: x.date()) #if date_time column is datetime obj
grouped = df.groupby(groupSeries)
for k,g in grouped:
print k,"\n",g,"\n"*2
출력
key: 2014-07-17
date_time open high low close volume
97759 2014-07-17 18:00:00 0.93702 0.9379 0.93696 0.93789 2098
key: 2014-07-18
date_time open high low close volume
97758 2014-07-18 19:00:00 0.93702 0.9379 0.93696 0.93789 2098
97756 2014-07-18 20:00:00 0.93702 0.9379 0.93696 0.93789 2098
출처
2014-07-24 16:00:38
ZJS
당신이 [리샘플링] (에 대해 얘기하는 http://pandas.pydata.org /피 andas-docs/stable/timeseries.html # up-and-downsampling) – EdChum
@EdChum 모르겠지만 모양이 다릅니다. 나는 여전히 시간별 데이터가 필요하며, 매일 매일의 시간별 데이터가 자체 데이터입니다. 나는 어떻게해서든지'groupBy' 또는'bday()'를 사용할 수 있고 그것으로부터 새로운 프레임을 얻을 수있는 일일 루프를 생각 했습니까? – Tjorriemorrie
샘플 입력을 단락시키고 (1 줄 이상) 출력해야합니다 – Jeff