如何用Python pandas对数据列求和后降序排序及相关报错解决
报错根因
直接对全表按列求和时,前两列EPISODE_Number、EPISODE_TITLE为字符串类型,求和结果为拼接后的字符串,排序时字符串与数值列的求和结果无法比较,触发类型错误。
修正后可运行代码
import pandas as pd data = pd.read_csv("TV_show.csv") # 仅提取列名以object开头的列求和、排序、取前10 obj_sum_ser = data.filter(regex=r'^object').sum().sort_values(ascending=False).head(10) # 按要求格式输出结果 for col_name, sum_val in obj_sum_ser.items(): print(f"{col_name}: {sum_val}")
代码逻辑说明
- 用
filter(regex=r'^object')精准匹配所有列名以object开头的列,避免手动指定列索引的不兼容性,也从源头排除了字符串类型的非目标列 - 仅对目标数值列求和后降序排序,
head(10)自动取前10项,目标列不足10项时也不会报错 - 遍历求和得到的Series,输出符合要求的文本格式
内容的提问来源于stack exchange,提问作者xXx JOKER xXx
相关产品推荐
相关产品推荐

