【发布时间】:2016-08-30 07:57:16
【问题描述】:
我有一些列 ['a', 'b', 'c', etc.](a 和 c 是 float64 而b 是 object)
我想将所有列转换为字符串并保留nans。
尝试使用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) 之间有区别吗?
示例输入:(dtypes: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.
所需的输出:(dtypes:a=object,b=object,c=object)
a, b, c, etc.
'23', 'a42', '142', etc.
'51', 'a3', '12', etc.
NaN, NaN, NaN, etc.
'24', 'a1', NaN, etc.
【问题讨论】:
-
您可以发布示例输入和所需的输出数据集吗?
-
@Maxu 当然,我更新了问题
标签: string python-2.7 pandas