簡體   English   中英

如何處理python中的迭代器?

[英]How to deal with iterators in python?

大家好,我正在嘗試使用 nx.jaccard_coefficient 獲得的一個未來創建一個列表 (pd.Series),問題是我得到了一個迭代器,我不知道如何提取我應該獲得的結果。 該函數應該返回一個帶有 3 個參數 u,v,p 的迭代器。

所以我創建了一個理解列表來提取一些邊集的數據。

 future_connections["Jaccard"] = [nx.jaccard_coefficient(G,edge) for edge in 
                                  future_connections['index']]

我得到以下結果

            Future Connection       index    a    b  Common_Neighbors  \
(6, 840)                  0.0    (6, 840)    6  840                 9   
(4, 197)                  0.0    (4, 197)    4  197                 2   
(620, 979)                0.0  (620, 979)  620  979                 0   
(519, 872)                0.0  (519, 872)  519  872                 2 
               Jaccard  
(6, 840)    <generator object jaccard_coefficient.<locals>...  
(4, 197)    <generator object jaccard_coefficient.<locals>...  
(620, 979)  <generator object jaccard_coefficient.<locals>...  
(519, 872)  <generator object jaccard_coefficient.<locals>...  

關於如何提取生成器的值的任何想法???

謝謝。

如果你的函數nx.jaccard_coefficient返回一個包含 3 個元素的元組/列表,試試這個。

future_connections["Jaccard"] = [
  tuple(nx.jaccard_coefficient(G,edge)) for edge in  future_connections['index']]

請嘗試以下操作:

future_connections["Jaccard"] = [p for u,v,p in nx.jaccard_coefficient(G, future_connections.index)]

暫無
暫無

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

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