string - Pandas :将多列转换为字符串

标签 string python-2.7 pandas

我有一些专栏 ['a', 'b', 'c', etc.] ( acfloat64bobject )

我想将所有列转换为字符串并保留 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)然后替换 ''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.

所需输出: (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.

最佳答案

这为您提供了列名列表

lst = list(df)

这会将所有列转换为字符串类型

df[lst] = df[lst].astype(str)

关于string - Pandas :将多列转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035182/

相关文章:

MySql查询将小写更改为大写

PHP:删除在另一个字符串中找到的字符串字符

python - lxml 使用命名空间

python - numpys pandas 中的二维数组分组

java - 查找字符串中打开关闭的 html 标签的数量

C:获取两个字符串之间包含空格的字符串

python - 通过分组对 NA 进行高性能填充

python - 如何将数据框拆分为固定大小的组?

python - 在 python 中使用多个逻辑运算符

python 将字典数组映射到字典?