如何合并GeoDataFrame中的字符串列与浮点数列?
解决GeoDataFrame字符串列与浮点数列合并的TypeError问题
这个报错其实很好理解——str.cat()方法只接受字符串类型的序列来做拼接操作,但你的GDP列是浮点数类型,直接传进去自然会触发类型不匹配的错误。
给你两种实用的解决方案:
方法一:先将浮点数列转为字符串再拼接
直接对GDP列使用astype(str)转换类型,再和name列完成拼接:
cities['name-gdp'] = cities['name'].str.cat(cities['GDP'].astype(str), sep=': ')
这样就能生成你想要的Vatican City: 20353.42格式的结果。
方法二:用apply结合格式化字符串(更灵活,推荐)
如果需要控制浮点数的显示格式(比如固定保留两位小数、去掉不必要的小数位),用apply配合f-string会更灵活:
cities['name-gdp'] = cities.apply(lambda row: f"{row['name']}: {row['GDP']:.2f}", axis=1)
这种方式不仅能完成拼接,还能自定义数值的展示样式,比如如果GDP是整数,也能自动处理成合适的格式。
内容的提问来源于stack exchange,提问作者J-man
相关产品推荐
相关产品推荐

