我想将我的系列转换为字符串:
s = pd.Series({'A':[10,'héllo','world']})
像这样
s = pd.Series({'A':['10','héllo','world']})
但是没有使用迭代。我尝试使用pandas.DataFrame.astype,但似乎无法正常工作。
非常感谢您的帮助
答案 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)
无法在原地操作,但会返回副本。