【发布时间】:2020-09-14 03:18:56
【问题描述】:
我想根据Data 值对df 进行切片以形成df1。
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
然后,如果 Data 在 [20, 100] 范围内,则我对 df 进行切片,代码:
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
为什么?
【问题讨论】:
标签: python pandas dataframe tuples