Pandas:如何为Series的所有值添加括号后展示
实现方法
首先注意你原有代码的小问题:不要用pd作为Series的变量名,会覆盖导入的pandas别名,容易引发后续调用异常,建议修改为其他变量名如s。
方法1:直接字符串拼接(最简单)
Pandas的字符串Series支持矢量化运算,可直接给每个值前后拼接括号:
import pandas as pd s = pd.Series(['12.1','23.2','30.3', '40.0']) s_wrapped = '(' + s + ')' print(s_wrapped)
方法2:使用str.format方法(扩展性更强)
如果后续需要调整格式规则,用format方法修改更灵活:
s_wrapped = s.str.format('({})')
方法3:处理数值类型的Series
如果你的原始Series是数值类型而非字符串,先转成字符串再处理即可:
s = pd.Series([12.1, 23.2, 30.3, 40.0]) s_wrapped = '(' + s.astype(str) + ')'
以上方法输出的结果均符合预期:
0 (12.1) 1 (23.2) 2 (30.3) 3 (40.0) dtype: object
内容的提问来源于stack exchange,提问作者Jörg Romanowski
相关产品推荐
相关产品推荐

