python-3.x - 在 python 循环中引用文件名
问题描述
我有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' object has no attribute '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)]
解决方案
只需创建一个包含 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)
推荐阅读
- ios - IOS 应用程序因“bug_type”而崩溃:“179”
- mysql - 尝试将 txt 文件插入 MySql 时出现 MySql 错误 1054
- reactjs - Flow 给出错误“无法将 [value] 分配给 this.[property],因为 [class] 中缺少属性 [property]”
- c# - 使用 VSCode 和 .NET Core 设置 xUnit 时出现问题,如何正确设置?
- three.js - 三个 Js BufferGeometry Loader 给了我一个“Uncaught TypeError: Cannot read property 'index' of undefined”为什么?
- sockets - TCP 套接字可能会中断以使其仍在接收但不能再发送?
- javascript - 如何使用相同的 script.js 文件使用多个 Id 调用不同的 CSS 类
- hyperledger-fabric - 在超级账本 Composer 中自动执行交易
- python - While 循环请求分页链接
- javascript - Angular 或 JS 动态变量指针名称