如何对Python DataFrame提取的'Jumlah Lembar Saham'列数字求和?
解决数字列表求和问题
你已经从CSV提取并处理得到字符串类型的数字列表 ['3200000', '2900000', '2900000', '1000000'],以下是两种实现求和并得到['10000000']的方法:
方法一:直接处理已生成的列表
遍历列表将每个字符串转成整数后求和,再把结果包装成列表:
matches = ['3200000', '2900000', '2900000', '1000000'] total_sum = sum(int(num) for num in matches) result = [str(total_sum)] print(result) # 输出: ['10000000']
方法二:直接从DataFrame列处理(更高效)
既然数据来自DataFrame的列,可以跳过生成中间列表的步骤,直接对列进行转换和求和:
# 替换原代码中生成matches的逻辑 # 先移除千分位并转成整数类型 df['Jumlah Lembar Saham'] = df['Jumlah Lembar Saham'].str.replace('.', '').astype(int) # 求和后转成字符串并包装成列表 total_sum = df['Jumlah Lembar Saham'].sum() result = [str(total_sum)] print(result) # 输出: ['10000000']
这种方式避免了正则匹配和字符串拼接的额外步骤,处理效率更高,也更符合pandas的使用习惯。
内容的提问来源于stack exchange,提问作者htm_01
相关产品推荐
相关产品推荐

