Python 功能赢得';t应用于熊猫数据帧,获取语法错误
我试图将此函数应用于pandas数据帧,以查看出租车上下车时间是否在我使用下面的arrivemin、ArriveMax变量创建的范围内 如果时间真的在这个范围内,我想保留这一行。如果超出范围,我想从数据帧中删除它Python 功能赢得';t应用于熊猫数据帧,获取语法错误,python,pandas,dataframe,Python,Pandas,Dataframe,我试图将此函数应用于pandas数据帧,以查看出租车上下车时间是否在我使用下面的arrivemin、ArriveMax变量创建的范围内 如果时间真的在这个范围内,我想保留这一行。如果超出范围,我想从数据帧中删除它 gametimestart = df['Start.Time'] gametimeend = df['End.Time'] arrivemin = gametimestart - datetime.timedelta(minutes=120) arrivemax = gameti
gametimestart = df['Start.Time']
gametimeend = df['End.Time']
arrivemin = gametimestart - datetime.timedelta(minutes=120)
arrivemax = gametimeend - datetime.timedelta(minutes = 30)
departmin = gametimeend - datetime.timedelta(minutes = 60)
departmax = gametimeend + datetime.timedelta(minutes = 90)
df_filtered = df[(df['pickup_datetime'] > arrivemin) &
(df['pickup_datetime'] < arrivemax) &
(df['dropoff_datetime'] > departmin) &
(df['dropoffdatetime'] < departmax)]
Start.Time、End.Time等都是datetime对象,因此时间功能应该可以正常工作
def time_function(df, row):
gametimestart = df['Start.Time']
gametimeend = df['End.Time']
arrivemin = gametimestart - datetime.timedelta(minutes=120)
arrivemax = gametimeend - datetime.timedelta(minutes = 30)
departmin = gametimeend - datetime.timedelta(minutes = 60)
departmax = gametimeend + datetime.timedelta(minutes = 90)
for not i in ((df['pickup_datetime'] > arrivemin) & (df['pickupdatetime'] < arrivemax) &(df['dropoff_datetime'] > departmin) & (df['dropoffdatetime'] < departmax)):
df = df.drop[df[i.index]]
return
for index, row in yankdf:
time_function(yankdf, row)
def time_函数(df,行):
gametimestart=df['Start.Time']
gametimeend=df['End.Time']
arrivemin=gametimestart-datetime.timedelta(分钟=120)
arrivemax=gametimeend-datetime.timedelta(分钟=30)
departmin=gametimeend-datetime.timedelta(分钟=60)
departmax=gametimeend+datetime.timedelta(分钟=90)
对于非i in((df['picku datetime']>arrivemin)&(df['pickupdatetime']departmin)&(df['dropoffdatetime']
继续获取此语法错误:
File "<ipython-input-25-bda6fb2db429>", line 17
for not i in (((row['pickup_datetime'] > arrivemin) & (row['pickupdatetime'] < arrivemax)) | ((row['dropoff_datetime'] > departmin) & (row['dropoffdatetime'] < departmax)):
^
SyntaxError: invalid syntax
文件“”,第17行
对于不在((第['Picku_datetime']>arrivemin行)和第['pickupdatetime']departmin行)和第['dropoffdatetime']
我认为您不需要该函数。只需执行一个基本子集,df_filtered应该是您的过滤数据帧
gametimestart = df['Start.Time']
gametimeend = df['End.Time']
arrivemin = gametimestart - datetime.timedelta(minutes=120)
arrivemax = gametimeend - datetime.timedelta(minutes = 30)
departmin = gametimeend - datetime.timedelta(minutes = 60)
departmax = gametimeend + datetime.timedelta(minutes = 90)
df_filtered = df[(df['pickup_datetime'] > arrivemin) &
(df['pickup_datetime'] < arrivemax) &
(df['dropoff_datetime'] > departmin) &
(df['dropoffdatetime'] < departmax)]
gametimestart=df['Start.Time']
gametimeend=df['End.Time']
arrivemin=gametimestart-datetime.timedelta(分钟=120)
arrivemax=gametimeend-datetime.timedelta(分钟=30)
departmin=gametimeend-datetime.timedelta(分钟=60)
departmax=gametimeend+datetime.timedelta(分钟=90)
df_filtered=df[(df['picku_datetime']>arrivemin)&
(df['picku datetime']departmin)和
(df['dropoffdatetime']
嗯,你的时间函数体缩进错误。可能是吗?哎呀……那只是一个复制粘贴错误。请在上面编辑你的问题,并包括完整的错误回溯。有趣的是……我的错误消息是重复的,似乎错误是“不是”而不是“离开”