我怎样才能按天分割行?

时间:2015-07-14 02:03:31

标签: pandas

我有很多行表示他们在

创建的时间
 'Fri Sep 19 17:27:16 blah blah' 

 'Fri Sep 19 17:14:28 blah blah'

 'Fri Sep 19 17:11:51 blah blah' 

          .
          .
          .

一个月有数千行,每天有几十行

我想把它们分成白天分组。我应该使用哪种功能?

2 个答案:

答案 0 :(得分:0)

itertools.groupby(rowlist, key=lambda row: row[0:10])

答案 1 :(得分:0)

您的问题不明确,但假设您的列中包含时间值为字符串而另一列为某些arbritrary值,则在加载后您需要转换日期'到日期时间dtype然后你可以在日期分组:

In [109]:
# load some data
import io
import pandas as pd
t="""Fri Sep 19 17:27:16,blah blah
Fri Sep 20 17:14:28,blah blah
Fri Sep 19 17:11:51,blah blah"""
df = pd.read_csv(io.StringIO(t), header=None, names=['date', 'value'])
df

Out[109]:
                  date      value
0  Fri Sep 19 17:27:16  blah blah
1  Fri Sep 20 17:14:28  blah blah
2  Fri Sep 19 17:11:51  blah blah

In [110]:    
# convert the datetime string
df['date'] = pd.to_datetime(df['date'])
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3 entries, 0 to 2
Data columns (total 2 columns):
date     3 non-null datetime64[ns]
value    3 non-null object
dtypes: datetime64[ns](1), object(1)
memory usage: 72.0+ bytes

In [113]:    
# group on the date
df.groupby(df['date'].dt.date)['value'].max()

Out[113]:
2015-09-19    blah blah
2015-09-20    blah blah
Name: value, dtype: object

因此,上面使用to_datetime转换日期时间str,然后使用groupby转换日期&#39;的date属性。我在这里打电话max只是为了表明它区分不同的日期。