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

使用pivot_table指定values='SWAP_SPREAD'返回空DataFrame求助

解决pivot_table返回空DataFrame的问题

排查步骤及解决方案

1. 确认列名是否准确

首先检查数据集的列名是否和你指定的'SWAP_SPREAD'完全一致,比如是否存在大小写差异、空格或特殊字符:

import pandas as pd
df = pd.read_csv('Data.csv')
# 打印所有列名
print(df.columns.tolist())

如果实际列名是'SWAP SPREAD'(带空格),需要修改values参数为对应的列名。

2. 检查SWAP_SPREAD列的有效值情况

如果该列全为空值,pivot_table默认的聚合函数(mean)会返回空列,执行以下代码查看空值数量:

print(f"SWAP_SPREAD列空值总数:{df['SWAP_SPREAD'].isna().sum()}")
print(f"数据集总行数:{len(df)}")

如果空值占比极高或全为空,可以:

  • 先处理空值(比如用fillna填充合理值):
    df['SWAP_SPREAD'] = df['SWAP_SPREAD'].fillna(0) # 根据业务场景选择填充值
    df = df.pivot_table(index='FECHA', columns='TICKET', values='SWAP_SPREAD')
    
  • 更换聚合函数,比如取第一个非空值:
    df = df.pivot_table(index='FECHA', columns='TICKET', values='SWAP_SPREAD', aggfunc='first')
    

3. 验证分组列的有效性

检查FECHA和TICKET列是否有有效分组项:

print(f"FECHA唯一值数量:{df['FECHA'].nunique()}")
print(f"TICKET唯一值数量:{df['TICKET'].nunique()}")

如果其中某列没有唯一值,也会导致透视结果异常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:12:49