python - 熊猫递归函数中的语法错误?
问题描述
语言:Python 3 平台:Jupyter Notebook
我想计算同一用户在同一日期和时间在数据框中发送的消息量。按照这个例子,我尝试使用递归函数来做到这一点。
下面是我的尝试。
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
解决方案
您:
在 if 语句的末尾缺少
推荐阅读
- python - 在 tensorflow2.0 中使用稀疏矩阵作为输入遇到异常“应定义 `Dense` 的输入的最后一个维度。找到 `None`。”
- c++ - 在点云库 (PCL) 中使用自定义点类型的问题
- express - 如何在 expressjs 中使用 connect-mongo 处理所有错误
- javascript - moment().isBefore 不能正常工作?
- java - 带有 http 请求的客户端程序响应
- reactjs - React 和 MongoDB 中的复选框值
- javascript - 如何在向导类型的网页中保留单击引导卡的背景颜色?
- guice - 如何在 Quarkus 中引导 Guice Injector?
- php - FPDF / PHP:页脚页面显示在下一页的底部(空白页)
- batch-file - 使用 cmd 为文本文件中的每一行添加主机名