我希望能够遍历当前工作区中的所有数据帧(而不是名称!)
为了获得所有数据帧的列表,我找到了以下解决方案here:
import pandas as pd
# create dummy dataframes
df1 = pd.DataFrame({'Col1' : list(range(100))})
df2 = pd.DataFrame({'Col1' : list(range(100))})
# check whether all variables in scope are pandas dataframe.
# Dir() will return a list of string representations of the variables.
# Simply evaluate and test whether they are pandas dataframes
alldfs = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]
print(alldfs) # df1, df2
这是如上所述的,但问题是我希望能够使用此列表来迭代实际数据帧,而不是数据帧的名称
以下代码返回数据帧名称的长度,但应返回数据帧的长度(行数):
for df in alldfs:
print(len(df))
它应返回:
100
100
它返回:
3
3
我怎样才能解决这个问题
您需要在列表的元素上使用
eval
,因为这些是数据帧变量的名称。i、 e:这将产生您想要的输出
dict
:输出:
相关问题 更多 >
编程相关推荐