【发布时间】:2020-06-30 10:34:56
【问题描述】:
语言:Python 3 平台:Jupyter Notebook
我想在数据框中计算同一用户在同一日期和时间发送的消息量。按照这个例子,我尝试使用递归函数来做到这一点。
Define recursive function in Pandas dataframe
下面是我的尝试。
interaction = 0
for i, row in df.iterrows():
if ((df2['names'].iloc[i] == (df2['names'].iloc[i-1]) & (df2['time'].iloc[i] == df2['time'].iloc[i-1]) & (df2['date'].iloc[i]== df2['date'].iloc[i-1]))
interaction = interaction
else:
interaction = interaction+1
return interaction
但它返回此错误,
File "<ipython-input-171-9670327f0e8e>", line 6
interaction = interaction
^
SyntaxError: invalid syntax
很抱歉这个问题太简单了,但我很沮丧。我尝试更改变量名称,但它一直返回相同的错误。当我把它改成return时,像这样,
interaction = 0
for i, row in df.iterrows():
if ((df2['names'].iloc[i] == (df2['names'].iloc[i-1]) & (df2['time'].iloc[i] == df2['time'].iloc[i-1]) & (df2['date'].iloc[i]== df2['date'].iloc[i-1]))
return interaction
else:
return (interaction+1)
return interaction
它返回此错误。
File "<ipython-input-179-99d835a6b0e6>", line 5
return interaction
^
SyntaxError: invalid syntax
我在条件之后的 if 之后删除了冒号,因为它也是一个语法错误。 谢谢你的帮助。
编辑:如果我包含冒号,这就是错误
File "<ipython-input-184-041229eea329>", line 5
& (df2['date'].iloc[i]== df2['date'].iloc[i-1])):
^
SyntaxError: invalid syntax
【问题讨论】:
-
检查括号