如何对Pandas DataFrame中易读格式的货币价格转换并求和?
处理带K/M后缀的价格列转换与求和
步骤说明
- 提取价格字符串中的后缀(K/M),区分不同数量级
- 将数字部分转为浮点型,再乘以对应倍数(K=1000,M=1,000,000)生成数值列
- 对转换后的数值列求和
完整代码实现
import pandas as pd data = { "price": ["809.989K", "1.792M"] } df = pd.DataFrame(data) # 定义价格转换函数 def convert_price(price_str): suffix = price_str[-1] num = float(price_str[:-1]) if suffix == 'K': return num * 1000 elif suffix == 'M': return num * 1000000 else: return num # 兼容无后缀的情况 # 生成数值型价格列 df['price_num'] = df['price'].apply(convert_price) # 计算价格总和 total_price = df['price_num'].sum() # 输出结果 print("转换后的DataFrame:") print(df) print("\n价格总和:", total_price)
运行结果
转换后的DataFrame:
price price_num 0 809.989K 809989.0 1 1.792M 1792000.0
价格总和:2601989.0
内容的提问来源于stack exchange,提问作者T_Ner
相关产品推荐
相关产品推荐

