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

Python中能否用字符串变量替换指令片段?如何提取指定DataFrame列数据?

问题解答

问题1:Python中能否用字符串变量替换指令的部分内容?

可以。Python提供多种实用方式实现这类需求:

  • 使用getattr()函数:若要访问对象的属性,可通过字符串变量指定属性名,示例:getattr(obj, attr_str),其中attr_str是存储属性名的字符串变量。
  • 使用字典/序列索引:如果是访问字典的键或DataFrame的列,直接用target[key_str]即可,key_str为字符串变量。
  • 动态代码执行(谨慎使用):通过eval()可执行拼接后的字符串代码,但该方式存在安全风险,仅适用于完全可信的输入场景。

问题2:展示show_list数组对应数据的简便实现方法

你的代码无法运行的核心问题是:df.item是尝试访问DataFrame的内置item属性,而非变量item对应的列。同时代码里import panda as pd存在拼写错误,应为pandas。以下是两种简便的实现方式:

方式1:修正循环逻辑

通过方括号直接索引列名,代码如下:

import pandas as pd
show_list=['Apple', 'Orange']
data = {
  "Apple": [1,2,3],
  "Banana": [4,5,6],
  "Orange": [7,8,9]
}
df=pd.DataFrame(data)
for item in show_list:
    print(df[item])

方式2:直接筛选列并输出

无需循环,Pandas支持直接传入列名列表批量筛选数据,代码更简洁:

import pandas as pd
show_list=['Apple', 'Orange']
data = {
  "Apple": [1,2,3],
  "Banana": [4,5,6],
  "Orange": [7,8,9]
}
df=pd.DataFrame(data)
# 一次性输出所有指定列的数据
print(df[show_list])

# 若需逐列单独打印,可简化为:
for col in df[show_list]:
    print(df[col])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:40:29