【问题标题】:Creating new column in a Pandas dataframe by concatenating two other column based on some condition通过根据某些条件连接另外两个列在 Pandas 数据框中创建新列
【发布时间】:2023-03-21 06:56:01
【问题描述】:

我有一个如下所示的数据框(仅显示相关列):

col1          col2
NaN           NaN
NaN           abc@123.com | pqr@234.com
ppp@987.com   NaN
zzz@765.com   aaa@123.com | mmm@456.com

我想创建一个基于连接 col1 和 col2 的新列,其中“|”作为分隔符。 NaN 值应该被忽略

预期输出:

col1          col2                          new_col
NaN           NaN                           NaN
NaN           abc@123.com | pqr@234.com     abc@123.com | pqr@234.com
ppp@987.com   NaN                           ppp@987.com
zzz@765.com   aaa@123.com | mmm@456.com     zzz@765.com | aaa@123.com | mmm@456.com

【问题讨论】:

    标签: python python-3.x pandas


    【解决方案1】:

    让我们试试stack

    df['New']=df.stack().groupby(level=0).agg('|'.join)
    
    df
              col1                     col2                                  New
    0          NaN                      NaN                                  NaN
    1          NaN  abc@123.com|pqr@234.com              abc@123.com|pqr@234.com
    2  ppp@987.com                      NaN                          ppp@987.com
    3  zzz@765.com  aaa@123.com|mmm@456.com  zzz@765.com|aaa@123.com|mmm@456.com
    

    【讨论】:

      猜你喜欢
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多