我想基于其他2列('Link'
和URL
)创建pandas列Title
,以便创建包含标题形式为HTML链接标签的列:>
<a href="{}">{}</a>'.format(df['Ad_URL'],df['Title'])
我正在使用:
def Ad_Link(df):
return ('<a href="{}">{}</a>'.format(df['Ad_URL'],df['Title']))
df['Link'] = df[['Ad_URL','Title']].apply(lambda x:Ad_Link(x), axis=1)
但是它没有按预期工作。
它给出:
<a href="List of all URLs">List of all Titles</a>
用于df ['Link']
它应该迭代并给出:
<a href="URL[0]">Title[0]</a>
<a href="URL[1]">Title[1]</a>
编辑
实际上我的解决方案有效,起初数据框架有问题。
答案 0 :(得分:1)
这对我来说很好。
df = pd.DataFrame({'Ad_URL':['u1', 'u2', 'u3'], 'Title':['t1', 't2', 't3']})
def Ad_Link(df):
return ('<a href="{}">{}</a>'.format(df['Ad_URL'],df['Title']))
df['Link'] = df[['Ad_URL','Title']].apply(lambda x:Ad_Link(x), axis=1)
print(df)
输出:
Ad_URL Title Link
0 u1 t1 <a href="u1">t1</a>
1 u2 t2 <a href="u2">t2</a>
2 u3 t3 <a href="u3">t3</a>
答案 1 :(得分:1)
首先,您的代码对我有用。但是添加了具有相同输出的多个解决方案:
df = pd.DataFrame({'Ad_URL':['u1', 'u2', 'u3'], 'Title':['t1', 't2', 't3']})
def Ad_Link(df):
return ('<a href="{}">{}</a>'.format(df['Ad_URL'],df['Title']))
df['Link'] = df[['Ad_URL','Title']].apply(lambda x:Ad_Link(x), axis=1)
#change variable in function to x
def Ad_Link1(x):
return ('<a href="{}">{}</a>'.format(x['Ad_URL'],x['Title']))
df['Link1'] = df[['Ad_URL','Title']].apply(lambda x:Ad_Link1(x), axis=1)
#removed lambda function
def Ad_Link2(x):
return ('<a href="{}">{}</a>'.format(x['Ad_URL'],x['Title']))
df['Link2'] = df.apply(Ad_Link2, axis=1)
#pass columns names to lambda function, changed function
def Ad_Link3(url, link):
return ('<a href="{}">{}</a>'.format(url, link))
df['Link3'] = df.apply(lambda x: Ad_Link3(x['Ad_URL'],x['Title']), axis=1)
#only lambda function solution
df['Link4'] = df.apply(lambda x: '<a href="{}">{}</a>'.format(x['Ad_URL'], x['Title']), axis=1)
print (df)
Ad_URL Title Link Link1 Link2 \
0 u1 t1 <a href="u1">t1</a> <a href="u1">t1</a> <a href="u1">t1</a>
1 u2 t2 <a href="u2">t2</a> <a href="u2">t2</a> <a href="u2">t2</a>
2 u3 t3 <a href="u3">t3</a> <a href="u3">t3</a> <a href="u3">t3</a>
Link3 Link4
0 <a href="u1">t1</a> <a href="u1">t1</a>
1 <a href="u2">t2</a> <a href="u2">t2</a>
2 <a href="u3">t3</a> <a href="u3">t3</a>