Я хочу разрезать df
, чтобы сформировать df1
на основе значения Data
.
df
:
Id Timestamp Data
106272 106273 2013-09-10 16:40:40.467 86.0
106273 106274 2013-09-10 16:40:41.267 86.0
106274 106275 2013-09-10 16:40:42.053 59.0
106275 106276 2013-09-10 16:40:42.857 52.0
106278 106279 2013-09-10 16:41:00.173 61.5
Затем я вырезал df
, если Data
находится в диапазоне [20, 100], с кодом:
df_copy = df.copy()
df1 = df_copy[(df_copy["Data"]>=20) & (df_copy["Data"]<=100)]
Это сработало нормально.
Затем я хотел сгруппировать df
и df1
по date
из Timestamp
:
import datetime
df['Date'] = [datetime.datetime.date(d) for d in df['Timestamp']]
x = pd.DataFrame(df.groupby(['Date']).size())
x.columns = ['values']
# -----------------------------------
df1['Date'] = [datetime.datetime.date(d) for d in df1['Timestamp']]
x1 = pd.DataFrame(df1.groupby(['Date']).size())
x1.columns = ['values']
Однако это сработало только для df
, но обнаружила ошибку для df1
:
TypeError Traceback (most recent call last)
<ipython-input-15-2ddde01b3d65> in <module>
---> 12 df1['Date'] = [datetime.datetime.date(d) for d in df1['Timestamp']]
13
14 x1 = pd.DataFrame(df1.groupby(['Date']).size())
TypeError: tuple indices must be integers or slices, not str
Почему?