You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用条件判断将Pandas现有df数据添加到新DataFrame

原有代码问题

  1. add_pair 函数无返回值,调用apply后会给df2的Pair列全部赋值为None
  2. 函数内部直接给df2['Pair']整列赋值,会导致所有行的Pair被覆盖为同一个值,不符合按交易对去重的需求
  3. 缺失均价、总持仓量、总持仓价值的核心计算逻辑

实现方案

你需要的按交易对分组统计的需求可以直接用pandas的groupby聚合方法实现,代码如下:

import pandas as pd

# 1. 拆分Executed列提取纯数字的持仓量(原列带币种后缀,需先处理成数值类型)
df['Position_Amount'] = df['Executed'].str.extract(r'(\d+\.\d+)').astype(float)

# 2. 按Pair分组直接聚合生成df2
df2 = df.groupby('Pair').agg(
    Medium_Price=('Price', 'mean'),
    Total_Amount=('Position_Amount', 'sum'),
    Total_Value=('Amount', 'sum')
).reset_index()

# 3. 重命名列匹配你需要的字段格式
df2.columns = ['Pair', 'Medium Price', 'Total Amount', 'Total Value']

# 输出查看结果
print(df2)

说明

  • 如果你有同一交易对的多笔交易,上述代码会自动计算该交易对的平均成交价、总持仓量、累计交易价值
  • 不需要手动初始化空DataFrame逐行添加,pandas原生聚合方法执行效率更高,语法更简洁

内容的提问来源于stack exchange,提问作者BruV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:57:04