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

如何在Pandas中按指定格式循环打印DataFrame的num列数值

解决Pandas DataFrame循环打印num列数值的问题

你的代码有两个关键问题导致无法正确嵌入数值:

  1. format方法的调用位置错误:你把format()调用在了print()函数的返回值上,而实际上应该直接在要格式化的字符串上调用format()。
  2. 取值对象错误:你使用new['num']取的是整个num列,而在iterrows()循环中,应该取当前行的num值,也就是row['num']。

几种正确的实现方式:

方式1:使用字符串format()方法(兼容所有Python版本)

for index, row in new.iterrows():
    print('The value is {}'.format(row['num']))

方式2:使用f-string(Python 3.6+推荐,语法更简洁直观)

for index, row in new.iterrows():
    print(f'The value is {row["num"]}')

方式3:直接遍历num列(更高效,适合大数据量场景)

iterrows()在处理大型DataFrame时效率较低,如果你不需要用到行索引和其他列的数据,可以直接遍历num列的数值:

for num_val in new['num']:
    print(f'The value is {num_val}')

为什么这些写法能生效?

  • 在iterrows()循环中,row是一个代表单行数据的Series对象,row['num']可以精准获取当前行的num列数值。
  • f-string通过{变量名}的语法直接嵌入变量,比format()更简洁易读。
  • 直接遍历new['num']时,Pandas的Series对象本身支持迭代,每次迭代会取出列中的单个数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:58:25