![](/img/trans.png)
[英]Creating New Column based on condition on Other Column in Pandas DataFrame
[英]Creating new column in a Pandas dataframe by concatenating two other column based on some condition
我有一个 dataframe 如下所示(仅显示相关列):
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 值应该被忽略
预期 output:
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
让我们尝试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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.