【问题标题】:Combine two columns of text with NaN in pandas在 pandas 中将两列文本与 NaN 组合
【发布时间】:2017-01-01 01:12:56
【问题描述】:

我想合并如下两列

import numpy as np
import pandas as pd    
data = pd.DataFrame({ 'a' : [np.nan, 'abc'], 'b' : ['abc', 'abc']})
data['c']=data['a']+' '+data['b']
data

     a   b    c
0   NaN abc   NaN
1   abc abc abc abc

问题出在 NaN,我想要得到

Nan + abc = abc

我可以这样做

data = pd.DataFrame({ 'a' : [np.nan, 'abc'], 'b' : ['abc', 'abc']})
data = data.replace( np.nan, '',regex=True)
data['c']=data['a']+' '+data['b']
data   

    a     b    c
0       abc abc
1   abc abc abc abc

但这并不总是很方便。有没有办法组合like?

NaN + abc = abc 

【问题讨论】:

    标签: python pandas numpy nan


    【解决方案1】:
    >>> data['c']=data['a'].fillna('') + ' ' + data['b'].fillna('')
    >>> data
         a    b        c
    0  NaN  abc      abc
    1  abc  abc  abc abc
    

    但是,请注意data['c'][0] == ' abc'。如果需要,您必须使用 .str.strip() 去除空格。

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2019-07-26
      • 1970-01-01
      • 2012-06-13
      • 2020-12-07
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2023-02-21
      相关资源
      最近更新 更多