我有一些列
我想将所有列转换为字符串并保留
尝试使用
目前,我正在采用以下方法逐个进行处理:
['a', 'b', 'c', etc.]
(其中a
和c
是float64
,而b
是object
)。我想将所有列转换为字符串并保留
nan
值。尝试使用
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)
然后将 ''
替换为 np.nan
是最好的方法吗?副问题: .astype(str)
和 .apply(str)
有区别吗?
示例输入:(数据类型: a=float64, b=object, 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.