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

如何使用变量作为DataFrame列名访问对应列数据

解答

这个需求完全可行,你原有代码报错的核心原因是用错了pandas列的访问语法:访问DataFrame列需要用方括号[]做索引,小括号()是调用函数/方法的语法,不能用来取列。

正确实现代码

首先构造测试用的DataFrame:

import pandas as pd

# 构造测试DataFrame
df = pd.DataFrame({
    'Name': ['aaa', 'bbb', 'ccc', 'ddd']
})

自定义函数逻辑:把DataFrame和列名都作为参数传入,在函数内部用传入的列名变量配合方括号索引,就能拿到对应列的数据:

def print_target_col(input_df, col_name):
    # 传入的col_name是字符串类型,直接放在方括号内即可索引到对应列
    print(input_df[col_name])

# 调用函数,传入列名实参
print_target_col(df, 'Name')

运行后输出结果如下:

0    aaa
1    bbb
2    ccc
3    ddd
Name: Name, dtype: object

补充说明:不要把DataFrame设为全局变量直接在函数内读取,把DataFrame作为参数传入函数,能大幅提升函数的复用性,也能避免全局变量被意外修改的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:39:27