У меня есть ряд значений IDs
, которые я конвертирую в фрейм данных dfA
, который выводится как:
идентификаторы | |
---|---|
0 | ID_3456789065 |
1 | ID_4546567657 |
2 | ID_1765768878 |
Я пытаюсь преобразовать dfA['IDs']
в строковый список URL-адресов, который выводится как:
'https://api.names.io/v1/ids/ID_3456789065/IDAccounts'
'https://api.names.io/v1/ids/ID_4546567657/IDAccounts'
'https://api.names.io/v1/ids/ID_1765768878/IDAccounts'
Это дает мне то, что я хочу, если я вручную ввожу идентификатор:
acctID = 'ID_3456789065'
f'https://api.names.io/v1/ids/{acctID}/IDAccounts'
Выходы:
'https://api.names.io/v1/ids/ID_3456789065/IDAccounts'
Я продолжаю получать неправильный вывод или ошибку, когда пытаюсь выполнить цикл dfA
, используя разные версии этого:
urlList=[]
for i in dfA:
acctID = dfA[i]
urlList = f'https://api.names.io/v1/ids/{acctID}/IDAccounts'
urlList.append(urlList)
Выходы:
https://api.names.io/v1/ids/0 ID_3456789065
1 ID_4546567657
2 ID_1765768878
Name: data_bettor, dtype: object/IDAccounts
Я тоже пробовал .concat, и это выдает TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid
Пожалуйста помоги!
Вы можете использовать понимание списка, которое перебирает столбец «ID»:
out = [f'https://api.names.io/v1/ids/{acctID}/IDAccounts' for acctID in df['IDs']]
Выход:
['https://api.names.io/v1/ids/ID_3456789065/IDAccounts',
'https://api.names.io/v1/ids/ID_4546567657/IDAccounts',
'https://api.names.io/v1/ids/ID_1765768878/IDAccounts']
Ты можешь использовать:
urlList = list('https://api.names.io/v1/ids/' + df['IDs'] + '/IDAccounts')
print(urlList)
# Output
['https://api.names.io/v1/ids/ID_3456789065/IDAccounts',
'https://api.names.io/v1/ids/ID_4546567657/IDAccounts',
'https://api.names.io/v1/ids/ID_1765768878/IDAccounts']
Вы можете использовать apply()
в столбце IDs
и использовать to_list
, чтобы получить список из серии:
df["IDs"].apply(lambda acctID: f'https://api.names.io/v1/ids/{acctID}/IDAccounts').to_list()
Это выводит:
['https://api.names.io/v1/ids/ID_3456789065/IDAccounts',
'https://api.names.io/v1/ids/ID_4546567657/IDAccounts',
'https://api.names.io/v1/ids/ID_1765768878/IDAccounts']