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

Python实现sigmoid函数时无法将结果存入列表用于seaborn绘图

问题核心原因
  • 列表l是fsig函数的局部变量,函数执行完成后外部作用域无法直接访问,调用fsig(x)后没有接收返回的计算结果,所以创建DataFrame时找不到变量l
  • 缺少pandas、seaborn的导入语句,可选补充绘图展示的matplotlib导入
  • 现有代码的sigmoid公式写反,标准公式为$\frac{1}{1+e^{-x}}$,当前写法得到的是反向的sigmoid曲线
修复后可运行的完整代码
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 生成x轴数值
x = list(range(-5, 6, 1))
print(x)

def fsig(n):  
    e = 2.718
    l = []
    for z in n:
        # 若要保留你原有的计算逻辑可去掉负号,改为e**z
        y = (1 / (1 + e**(-z)))
        Y = round(y, 3)
        l.append(Y)
        print(Y)
    # 新增返回计算结果的逻辑
    return l

# 接收函数返回的y值列表
l = fsig(x)

# 创建DataFrame
df = pd.DataFrame({'Eje X': x, 'Eje Y': l})
print(df)

# 绘图并展示
sns.lineplot(x = 'Eje X', y = 'Eje Y', data=df)
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:27:04