【问题标题】:How to skip the NaN value when doing manipulation of data in a dataframe在数据框中进行数据操作时如何跳过 NaN 值
【发布时间】:2022-01-09 18:37:47
【问题描述】:

我有一个数据框

dfx = pd.DataFrame({
'BRAND': ['A', 'B', 'C', 'D'],
'STATUT':['Trading', 'Trading', 'Trading', 'Trading'],
'ID_1': [str(144), str(205), str(123), np.NaN],
'ID_2': [str(173), np.NaN, '0123', str(124)],
'ID_3': ['0897', np.NaN, np.NaN,np.NaN],
})

并且我希望有一个新列,将 ID 连接到一个仅包含数字的新列中,并跳过 NaN 值。每个值都用单引号括起来,用逗号分隔。如下图所示:

在此先感谢

【问题讨论】:

    标签: python pandas dataframe nan data-manipulation


    【解决方案1】:

    这就是你所追求的吗?

    dfx['new'] = dfx[['ID_1', 'ID_2', 'ID_3']].apply(lambda x: "'" + "','".join(x.dropna()) + "'", axis=1)
    

      BRAND   STATUT ID_1  ID_2  ID_3                 new
    0     A  Trading  144   173  0897  '144','173','0897'
    1     B  Trading  205   NaN   NaN               '205'
    2     C  Trading  123  0123   NaN        '123','0123'
    3     D  Trading  NaN   124   NaN               '124'
    

    【讨论】:

    • 就是这样。谢谢!! :)
    • 别担心,请务必点赞并标记为已接受 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 2018-01-07
    • 2021-01-29
    • 2021-10-30
    • 2019-07-28
    • 2018-05-04
    相关资源
    最近更新 更多