我有一个数据帧:
GType BNM XXCV COO
0 CAT1 WERT NaN NaN
1 CAT3 FRGT NaN NaN
2 CAT3 NaN NaN NaN
3 CAT2 NaN NaN NaN
我需要使用GType
有选择地用空格或文本"vvv"
替换NaN
。你知道吗
我有以下代码:
list1 = ['CAT1','CAT2']
mask = (df.COO.isnull()|df.BNM.isnull()|df.XXCV.isnull()) & (df.GType.isin(list1))
df.loc[mask, ('COO', 'BNM', 'XXCV')] = df.loc[mask, ('COO', 'XXCV', 'BNM'].replace('NaN', '')
list12 = ['CAT3']
mask12 =df.COO.isnull()|df.BNM.isnull())& (df.GType.isin(list12))
df.loc[mask12, ('COO', 'BNM')] = df.loc[mask12, ('COO', 'BNM')].replace('NaN', '')
它运行并更改list1中的GType项,并保留list12中的项。现在我得到:
GType BNM XXCV COO
0 CAT1 WERT
1 CAT3 FRGT NaN NaN
2 CAT3 NaN NaN NaN
3 CAT2 NaN
我期望的结果是:
GType BNM XXCV COO
0 CAT1 WERT
1 CAT3 FRGT NaN
2 CAT3 NaN
3 CAT2
我哪里弄错了?你知道吗
这应该能奏效
to_nan_xxcv
将只过滤您想要的内容,其余内容将独立地替换在GType
上,这显然是您基于所需输出想要的内容。 此外,还可以通过调用.fillna('vvv')
替换为vvv
相关问题 更多 >
编程相关推荐