【问题标题】:how to create url column dataframe using two column values in python pandas?如何使用 python pandas 中的两个列值创建 url 列数据框?
【发布时间】:2016-06-18 08:52:05
【问题描述】:

我有以下数据框。

company,compid,secid
a,a1,a2
b,b1,b2

我需要如下格式的输出

company,compid,secid,url
a,a1,a2,http://www.cssss.com/companydetails.aspx?compid=a1&secid=a2
b,b1,b2,http://www.cssss.com/companydetails.aspx?compid=b1&secid=b2

如何在 url 列中添加列值?

【问题讨论】:

    标签: python python-2.7 pandas dataframe concatenation


    【解决方案1】:

    用途:

    df['url'] = 'http://www.cssss.com/companydetails.aspx?compid=' +
                 df.compid + '&secid=' + df.secid
    print (df)
      company compid secid                                                url
    0       a     a1    a2  http://www.cssss.com/companydetails.aspx?compi...
    1       b     b1    b2  http://www.cssss.com/companydetails.aspx?compi...
    

    我更改url 进行测试:

    df['url'] = 'http:aaa.aspx?compid=' + df.compid + '&secid=' + df.secid
    print (df)
      company compid secid                               url
    0       a     a1    a2  http:aaa.aspx?compid=a1&secid=a2
    1       b     b1    b2  http:aaa.aspx?compid=b1&secid=b2
    

    如果dtypes 的列compidsecidint,则由astype 转换为str

    df['url'] = 'http:aaa.aspx?compid='+df.compid.astype(str)+'&secid='+df.secid.astype(str)
    print (df)
      company compid secid                               url
    0       a     a1    a2  http:aaa.aspx?compid=a1&secid=a2
    1       b     b1    b2  http:aaa.aspx?compid=b1&secid=b2
    

    通过评论编辑:

    如果compidsecid 列中的any 包含NaN,则它可以是空字符串:

    #code before
    data3 = pd.merge(df1,df2,on='company', how='outer') 
    
    print (data3)
      company compid secid
    0       a     a1    a2
    1       b     b1    b2
    2       a     a1   NaN
    3       b    NaN   NaN
    
    data3.loc[~data3[['compid','secid']].isnull().any(1), 'url'] = 
    'http:aaa.aspx?compid=' + data3.compid.astype(str) + '&secid=' + data3.secid.astype(str)
    
    data3.fillna('', inplace=True)
    print (data3)
    
      company compid secid                               url
    0       a     a1    a2  http:aaa.aspx?compid=a1&secid=a2
    1       b     b1    b2  http:aaa.aspx?compid=b1&secid=b2
    2       a     a1                                        
    3       b                                               
    

    【讨论】:

      猜你喜欢
      • 2022-11-22
      • 1970-01-01
      • 2015-10-12
      • 2023-02-21
      • 1970-01-01
      • 2021-08-27
      • 2016-01-16
      • 1970-01-01
      • 2022-11-16
      相关资源
      最近更新 更多