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

如何无循环将pandas.DataFrame.shape属性应用到元组内的多个DataFrame

不用循环获取元组中每个DataFrame的shape属性

嘿,我刚好有几个简洁的方案能满足你的需求,完全不需要写显式循环,一起来看看:

方法1:使用map函数

map函数天生就是用来对可迭代对象的每个元素批量应用操作的,这里我们可以直接用它提取每个DataFrame的shape属性:

import pandas as pd

def myfunction():
    x = pd.DataFrame(data = [1,2,3])
    y = pd.DataFrame(data = [[1,2,3],[4,5,6]])
    return x, y

# 用map处理后转成元组(map返回迭代器,转元组方便直接查看结果)
shape_tuple = tuple(map(lambda df: df.shape, myfunction()))
print(shape_tuple)  # 输出: ((3, 1), (2, 3))

如果想再精简一步,甚至可以直接传入pd.DataFrame.shape这个属性访问器:

shape_tuple = tuple(map(pd.DataFrame.shape, myfunction()))

方法2:使用生成器表达式

生成器表达式是Python里可读性极强的简洁语法,它没有显式的循环块,完全符合你的要求:

shape_tuple = tuple(df.shape for df in myfunction())
print(shape_tuple)  # 输出: ((3, 1), (2, 3))

这个写法一眼就能看懂逻辑:遍历函数返回的每个DataFrame,提取它们的shape后组成新元组。

两种方法都能高效完成任务,你可以根据自己的编码习惯选择~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:49:15