我有一个网址,我需要在其中替换4个参数。第一个参数已设置(值= 3),另外3个基于将每个参数替换为给定DataFrame的特定列的每一行。
我可以分别为3个参数中的每个参数进行替换,但是它的完成方式不会立即替换所有参数。我希望能够做的是立即替换所有这些以生成多个URL。
CODE:
import pandas as pd
url = 'https://parameter1 = replace1, parameter2 = replace2, parameter3 = replace3, parameter4 = replace4'
df = pd.DataFrame({ 'A' : ('foo1', 'foo2', 'foo3'),'B' : (1,2,3), 'C' : ('text1', 'text2', 'text3')})
value = '3'
for i in df['A']:
new_url = url.replace("replace1", value)
new_url = new_url.replace("replace2", i)
print(new_url)
for j in df['B']:
new_url = url.replace("replace1", value)
new_url = new_url.replace("replace3", str(j))
print(new_url)
for k in df['C']:
new_url = url.replace("replace1", value)
new_url = new_url.replace("replace3", k)
print(new_url)
我想要的输出如下:
需要输出:
url = 'https://parameter1 = 3, parameter2 = foo1, parameter3 = 1, parameter4 = text1'
url = 'https://parameter1 = 3, parameter2 = foo2, parameter3 = 2, parameter4 = text2'
url = 'https://parameter1 = 3, parameter2 = foo3, parameter3 = 3, parameter4 = text3'
如果有人能帮助我,我真的很感激!谢谢。
答案 0 :(得分:1)
为什么不为您的数据框添加url列?
import pandas as pd
url = 'https://parameter1 = replace1, parameter2 = replace2, parameter3 = replace3, parameter4 = replace4'
df = pd.DataFrame({ 'A' : ('foo1', 'foo2', 'foo3'),'B' : (1,2,3), 'C' : ('text1', 'text2', 'text3')})
value = '3'
df['value'] = value
df['url'] = 'https://parameter1 = '+ df['value'].astype(str) +', parameter2 = '+ df['A'].astype(str) +', parameter3 = '+ df['B'].astype(str) +', parameter4 = ' + df['C'].astype(str)
print(df)
我认为这是一个相当概念化的问题,因为url不能包含文字空间。