簡體   English   中英

pandas 的遞歸 function 語法錯誤?

[英]syntax error in recursive function for pandas?

語言:Python 3 平台:Jupyter Notebook

我想在 dataframe 中計算同一用戶在同一日期和時間發送的消息量。 按照這個例子,我嘗試使用遞歸 function 來做到這一點。

在 Pandas dataframe 中定義遞歸 function

下面是我的嘗試。

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 語句的末尾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM