为了账号安全,请及时绑定邮箱和手机立即绑定

将熊猫中的 2 列映射到第三列

将熊猫中的 2 列映射到第三列

MMTTMM 2021-12-09 14:33:04
我想'Link'基于其他 2 列(URL和Title)创建pandas 列,以便创建将在表单中保存带有标题的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> 编辑实际上我的解决方案奏效了,最初的数据框有问题。
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

首先你的代码对我很好。但是添加了具有相同输出的多个解决方案:


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>  


查看完整回答
反对 回复 2021-12-09
?
GCT1015

TA贡献1827条经验 获得超4个赞

这对我来说很好用。


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>


查看完整回答
反对 回复 2021-12-09
  • 2 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信