操作数据帧中的数据时如何跳过 NaN 值
How to skip the NaN value when doing manipulation of data in a dataframe
我有一个数据框
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 值。每个值都用单引号括起来,用逗号分隔。如下图所示:
非常感谢
这是你想要的吗?
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'
我有一个数据框
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 值。每个值都用单引号括起来,用逗号分隔。如下图所示:
非常感谢
这是你想要的吗?
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'