Python 3.x 在python循环中引用文件名

Python 3.x 在python循环中引用文件名,python-3.x,pandas,Python 3.x,Pandas,我有5个数据帧,如下所示。我需要使用for循环打印每个文件的记录数。我怎样才能做到这一点 f1=pd.DataFrame(np.random.random(10)) f2=pd.DataFrame(np.random.random(10)) f3=pd.DataFrame(np.random.random(10)) f4=pd.DataFrame(np.random.random(10)) f5=pd.DataFrame(np.random.random(10)) 我试过下面的代码 for i

我有5个数据帧,如下所示。我需要使用for循环打印每个文件的记录数。我怎样才能做到这一点

f1=pd.DataFrame(np.random.random(10))
f2=pd.DataFrame(np.random.random(10))
f3=pd.DataFrame(np.random.random(10))
f4=pd.DataFrame(np.random.random(10))
f5=pd.DataFrame(np.random.random(10))
我试过下面的代码

for i in range(1,6):
    j='f'+str(i)
    print(j.shape)   
并获得错误AttributeError:“str”对象没有属性“shape”,因为循环创建了字符串f1、f2、f3、f4、f5。是否有其他方法引用文件名并在循环中对其执行操作?还有,这是一个好的做法吗

我想对循环中的所有数据帧执行的其他操作如下,而不仅仅是for循环

df1=f1.loc[(f1.number > 0.5) & (f1.number<1)]
df2=f2.loc[(f2.number > 0.5) & (f2.number<1)]

df1=f1.loc[(f1.number>0.5)&(f1.number 0.5)&(f2.number只需创建一个包含5个元素的列表并循环遍历即可

f = [pd.DataFrame(np.random.random(10)).
     pd.DataFrame(np.random.random(10)),
     pd.DataFrame(np.random.random(10)),
     pd.DataFrame(np.random.random(10)),
     pd.DataFrame(np.random.random(10)),
]

for j in f:
    print(j.shape)

只需创建一个包含5个元素的列表,并在其中循环

f = [pd.DataFrame(np.random.random(10)).
     pd.DataFrame(np.random.random(10)),
     pd.DataFrame(np.random.random(10)),
     pd.DataFrame(np.random.random(10)),
     pd.DataFrame(np.random.random(10)),
]

for j in f:
    print(j.shape)

我将使用
locals

for i in range(1,6):
    j='f'+str(i)
    print(locals()[j].shape)  

(10, 1)
(10, 1)
(10, 1)
(10, 1)
(10, 1)

我将使用
locals

for i in range(1,6):
    j='f'+str(i)
    print(locals()[j].shape)  

(10, 1)
(10, 1)
(10, 1)
(10, 1)
(10, 1)