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

在Google Colab上传Excel并实现线性回归绘图,解决数据读取问题

解决Colab中Excel文件读取与线性回归分析问题

一、修复Excel文件读取错误

你的代码读取失败的核心问题是pd.read_excel的参数使用错误:第二个参数应该传入工作表名称(或索引),而非文件名。另外要确保上传的文件名和代码中调用的完全一致(注意大小写、空格)。

修正后的读取代码:

import io
import pandas as pd
from google.colab import files

# 上传文件
uploaded = files.upload()

# 指定文件名(需和上传的文件名完全匹配)
file_name = 'Infant Mortality Rates.xlsx'
xlsx_file = io.BytesIO(uploaded[file_name])

# 读取Excel:默认读取第一个工作表;若知道具体表名,可传入sheet_name='你的工作表名'
df = pd.read_excel(xlsx_file)

# 打印数据前5行,确认读取成功
print(df.head())

如果不确定工作表名称,可先执行以下代码查看所有表名:

excel_file = pd.ExcelFile(xlsx_file)
print("所有工作表名称:", excel_file.sheet_names)

二、完成线性回归分析

假设你的数据包含自变量(如年份Year)和因变量(如婴儿死亡率Mortality_Rate),以下是完整的分析和绘图代码:

import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
import numpy as np

# 处理缺失值(根据数据情况可选,这里删除含缺失值的行)
df = df.dropna(subset=['Year', 'Mortality_Rate'])

# 准备模型输入:自变量需为二维数组
X = df[['Year']].values
y = df['Mortality_Rate'].values

# 训练线性回归模型
model = LinearRegression()
model.fit(X, y)

# 输出模型参数
print(f"回归系数: {model.coef_[0]:.4f}")
print(f"截距项: {model.intercept_:.4f}")

# 绘制原始数据与回归线
plt.scatter(X, y, color='deepskyblue', label='实际数据')
y_pred = model.predict(X)
plt.plot(X, y_pred, color='crimson', linewidth=2, label='拟合回归线')

plt.xlabel('年份')
plt.ylabel('婴儿死亡率')
plt.title('婴儿死亡率随年份变化的线性回归分析')
plt.legend()
plt.show()

注意事项

  • 替换代码中的Year和Mortality_Rate为你数据中实际的列名
  • 若数据格式异常,可通过df.info()查看数据类型、缺失值情况,针对性处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:18:19