我有一些专栏['a', 'b', 'c', etc.]
(a
and c
are float64
while b
is object
)
我想将所有列转换为字符串并保留nan
s.
尝试使用df[['a', 'b', 'c']] == df[['a', 'b', 'c']].astype(str)
但这留下了空白float64
列。
目前我正在一一经历以下内容:
df['a'] = df['a'].apply(str)
df['a'] = df['a'].replace('nan', np.nan)
是最好的使用方式.astype(str)
然后替换''
with np.nan
? 附带问题:两者之间有区别吗.astype(str)
and .apply(str)
?
输入示例:(数据类型:a=float64、b=对象、c=float64)
a, b, c, etc.
23, 'a42', 142, etc.
51, '3', 12, etc.
NaN, NaN, NaN, etc.
24, 'a1', NaN, etc.
期望的输出:(数据类型:a=对象,b=对象,c=对象)
a, b, c, etc.
'23', 'a42', '142', etc.
'51', 'a3', '12', etc.
NaN, NaN, NaN, etc.
'24', 'a1', NaN, etc.