I have a column Date_Time that I wish to groupby date time without creating a new column. Is this possible the current code I have does not work.
df = pd.groupby(df,by=[df['Date_Time'].date()]) 
                groupby() function is used to split the data into groups based on some criteria. pandas objects can be split on any of their axes. The abstract definition of grouping is to provide a mapping of labels to group names.
One thing to notice here is our DataFrame gets sorted in ascending order of dates, to sort the DataFrame in descending order we can pass an additional parameter inside the sort_values() function that will set ascending value to False and will return the DataFrame in descending order.
You can use groupby by dates of column Date_Time by dt.date:
df = df.groupby([df['Date_Time'].dt.date]).mean()   Sample:
df = pd.DataFrame({'Date_Time': pd.date_range('10/1/2001 10:00:00', periods=3, freq='10H'),                    'B':[4,5,6]})  print (df)    B           Date_Time 0  4 2001-10-01 10:00:00 1  5 2001-10-01 20:00:00 2  6 2001-10-02 06:00:00  print (df['Date_Time'].dt.date) 0    2001-10-01 1    2001-10-01 2    2001-10-02 Name: Date_Time, dtype: object  df = df.groupby([df['Date_Time'].dt.date])['B'].mean() print(df) Date_Time 2001-10-01    4.5 2001-10-02    6.0 Name: B, dtype: float64   Another solution  with resample:
df = df.set_index('Date_Time').resample('D')['B'].mean()  print(df) Date_Time 2001-10-01    4.5 2001-10-02    6.0 Freq: D, Name: B, dtype: float64 
                        resampledf.resample('D', on='Date_Time').mean()                B Date_Time       2001-10-01  4.5 2001-10-02  6.0   GrouperAs suggested by @JosephCottam
df.set_index('Date_Time').groupby(pd.Grouper(freq='D')).mean()                B Date_Time       2001-10-01  4.5 2001-10-02  6.0   TimeGrouper You can set the index to be 'Date_Time' and use pd.TimeGrouper
df.set_index('Date_Time').groupby(pd.TimeGrouper('D')).mean().dropna()                B Date_Time       2001-10-01  4.5 2001-10-02  6.0 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With