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

如何从同时返回DataFrame和matplotlib绘图的函数中单独提取DataFrame?

步骤1:修正并优化函数

首先补充遗漏的numpy导入,同时添加plt.show()确保绘图在返回前完成渲染,新增参数控制是否展示DataFrame:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

def function(n, show_df: bool = True):
    df = pd.DataFrame(columns=['a','b','c'])
    df['a'] = np.random.randn(n)
    df['b'] = np.random.randn(n)*2
    df['c'] = np.random.randn(n)*3
    # 绘图逻辑
    plt.plot(df.a, color='red')
    plt.plot(df.b, color='green')
    plt.plot(df.c, color='blue')
    plt.show()
    # 控制是否在单元格输出展示DataFrame
    if show_df:
        display(df)
    return df

步骤2:调用方法

# 将返回的DataFrame赋值给变量,绘图会自动输出,DataFrame也会按设置展示
result_df = function(100)
# 变量result_df可以直接作为参数传给其他函数使用,示例:
# other_function(result_df)

常见误区说明

  • 为什么function(100)[0]无效?你的函数返回的是单个DataFrame对象,并非多元素的序列结构,[0]是尝试读取DataFrame的第0列,完全不符合你的取值预期。
  • 为什么return放在绘图代码前不出图?Python函数执行到return语句就会直接终止运行,后续的绘图代码根本不会被执行,自然没有图像输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:54:02