簡體   English   中英

如何遍歷列中的每個第 N 行,並將值作為列表傳遞而不帶括號太 URL?

[英]How to iterate over every N-th row in column, and pass values as list without brackets too URL?

我有一個看起來像這樣的數據框:

df 
     id 
0     a
1     b
2     c
.
70    zzz

我想從id列中獲取每 20 個 id,並將其作為逗號分隔列表傳遞給 url 中,不帶括號。

我可以像這樣選擇每 20 行,但不能選擇 0-19 之間的每個值:

df[df.index % 20 ==0]

我可以轉換為列出id列,如下所示:

df.id.tolist()

它返回一個列表,如下所示:

[a,b,c...z]

但是我想每 20 個 id 並將其傳遞到一個 URL 中,如下所示:

www.passmedata.com/ids=a,b,c

這不起作用:

www.passmedata.com/ids=[a,b,c]

如何將每個值以 20 個為一組,並將它們作為不帶括號的列表傳遞到 URL 中?

如果有幫助,我想從第 0-19 行獲取 ID,將其傳遞到 URL。 從第 20-40 行獲取 id,傳遞給 URL 等等。

splitted_ids = df.id.groupby(df.index // 20).agg(",".join).tolist()

指數除以 20 后的商給出了一個序列 0,0..,0, 1, 1,..,1, ...,每個都有 20 個條目(可能除了最后一個)。 然后用",".join聚合將它們變成逗號分隔的字符串。 該列表可以例如迭代:

for sub_ids in splitted_ids:
    print(f"www.passmedata.com/ids={sub_ids}")

如果df.index不是 0, 1, ...N-1,則可以用np.arange(len(df))代替它。

這是您可能想要使用的快速解決方案:

url = "www.passmedata.com/ids="+ ",".join(list(df.id[::20]))

暫無
暫無

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

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