[英]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.