使用for循环计算pandas中多个文件的长度

2024-10-04 11:26:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有五个数据帧(df1, df2, df3, df4, df5),我将使用以下代码计算它们的长度:

df1 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_1.xlsx")
df2 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_2.xlsx")
df3 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_3.xlsx")
df4 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_4.xlsx")
df5 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_5.xlsx")

for i in [1,2,3,4,5]:
    print(len(dfi.index))

但它会抛出以下错误:

"name 'dfi' is not defined"

我也试过:

for i in [1,2,3,4,5]:
    print(len(df[i].index))

但这并不奏效

此代码适用于:

print(len(df1.index))

但我每次都要更改文件名

什么是问题?我如何解决


Tags: readindexlenratedxlsxexceluserspd
1条回答
网友
1楼 · 发布于 2024-10-04 11:26:58

Python中没有动态变量名-因此dfi引用了显式名为dfi的变量。它不会仅仅因为i1(或其他东西),就变成df1

在您的情况下,您可以简单地迭代一系列数据帧:

df1 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_1.xlsx")
df2 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_2.xlsx")
df3 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_3.xlsx")
df4 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_4.xlsx")
df5 = pd.read_excel("/Users/us/Desktop/cymbalta_rated_5.xlsx")

for dfi in (df1, df2, df3, df4, df5):   # explicitly defines the variable "dfi"!
    print(len(dfi.index))

相关问题 更多 >