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

绘制Top15最高电影预算图表的代码问题咨询

解决方法与代码调整

问题拆解

  • FutureWarning 根源:当Series使用整数类型索引时,series[:N]这种切片方式在未来版本会从位置索引改为标签索引,必须用iloc[:N]明确指定按位置取数才能保留原有行为。
  • 原代码潜在问题:单独对budget列排序后再关联原数据集的标题,逻辑绕弯且易出错;另外你需要的是Top15,原代码取的是Top10,需调整切片长度。

优化后完整代码

import pandas as pd
import matplotlib.pyplot as plt

# 按预算降序排序整个数据集,取前15条记录
top15_movies = dp.sort_values(by='budget', ascending=False).iloc[:15]

# 提取电影名称和对应预算
x = top15_movies['original_title'].tolist()
y = top15_movies['budget'].tolist()

# 绘制柱状图(示例)
plt.figure(figsize=(12, 6))
plt.bar(x, y, color='#1f77b4')
plt.title('Top15 最高预算电影')
plt.xlabel('电影名称')
plt.ylabel('预算金额')
plt.xticks(rotation=45, ha='right')  # 旋转标签避免重叠
plt.tight_layout()  # 自动适配布局
plt.show()

核心调整点

  1. 整体排序替代单列排序:直接对整个dp数据集按budget降序排序,确保电影名称与预算严格对应,避免索引匹配出错。
  2. 用iloc消除警告:iloc[:15]明确按位置取前15条数据,完全符合你需要的“取TopN”逻辑,同时解决FutureWarning。
  3. 简化数据转换:用tolist()直接将Series转为列表,比list(map(str, ...))更简洁(若电影名称已是字符串类型,无需额外转str)。
  4. 完善绘图逻辑:添加了基础的柱状图绘制代码,包含布局优化(旋转标签、自动适配),直接生成可用的图表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:10:11