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

如何按名称选择单列或列范围?以选取'Country Name'和2006-2015列为例

解决pandas DataFrame选取指定列的问题

你的代码GPD.loc[:,'Country Name',['2006':'2015']]语法有误,loc的列索引参数不支持这种混合单个列名与嵌套切片的写法,以下是两种可行的解决方案:

方法一:显式组合列名列表

先构造包含'Country Name'和2006-2015年所有列名的列表,再传入loc:

# 生成2006到2015的年份字符串列表
year_cols = [str(year) for year in range(2006, 2016)]
# 组合目标列
target_cols = ['Country Name'] + year_cols
# 选取列
selected_df = GPD.loc[:, target_cols]

方法二:利用loc的连续切片(需列顺序符合要求)

如果你的DataFrame中'Country Name'列之后紧接着是按年份递增排列的2006到2015列,可以直接使用连续切片:

selected_df = GPD.loc[:, 'Country Name':'2015']

注意:这种方法仅在列顺序为Country Name → 2006 → 2007 → ... → 2015时有效,若年份列分散或顺序不对,建议用方法一。

额外验证方式

如果不确定年份列是否存在,可以先检查列名:

# 查看所有列名
print(GPD.columns.tolist())
# 验证年份列是否存在
year_cols = [str(year) for year in range(2006, 2016)]
missing_cols = [col for col in year_cols if col not in GPD.columns]
if missing_cols:
    print(f"以下年份列不存在:{missing_cols}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:43:15