如何将具有多个对象的熊猫系列转换为字符串系列?

时间:2018-11-29 13:17:49

标签: python string pandas types series

我想将我的系列转换为字符串:

s = pd.Series({'A':[10,'héllo','world']})

像这样

s = pd.Series({'A':['10','héllo','world']})

但是没有使用迭代。我尝试使用pandas.DataFrame.astype,但似乎无法正常工作。

非常感谢您的帮助

2 个答案:

答案 0 :(得分:2)

问题是您定义了一系列列表

s = pd.Series({'A':[10,'héllo','world']})

print(s)

A    [10, héllo, world]
dtype: object

如果这确实是您所拥有的,则需要在Python级循环中修改每个列表。例如,通过pd.Series.apply

s = s.apply(lambda x: list(map(str, x)))

如果您具有一系列标量,则astype将起作用:

s = pd.Series([10,'héllo','world'])

res = s.astype(str)

print(res, res.map(type), sep='\n'*2)

0       10
1    héllo
2    world
dtype: object

0    <class 'str'>
1    <class 'str'>
2    <class 'str'>
dtype: object

答案 1 :(得分:1)

你可以做

string_series = s.apply(lambda val: str(val))

但这是在后台迭代的。

您应该注意

s.astype(str)

无法在原地操作,但会返回副本。