Skip to main content
 首页 » 编程设计

python之Pandas iterrows 只给出最后一行的结果

2025年05月04日21dudu

以下代码读取 csv 文件并遍历“子”列的行:

df = pd.read_csv("Subs_test.csv", usecols= ['sub']) 
for index, row in df.iterrows(): 
    subreddit = reddit.subreddit(row['sub']).subscribers 
subreddit 

我的问题:

它只给我最后一行的结果。 你能帮我看看这是怎么回事吗?

谢谢

请您参考如下方法:

因为你在循环中设置了 subreddit。它总是等于最后一行

例如

In [1]: for i in range(10): 
   ...:     a = i 
   ...: a 
Out[1]: 9 

如果你想把值放到列表中,你可以使用这样的循环

df = pd.read_csv("Subs_test.csv", usecols= ['sub']) 
subreddit = [] 
for index, row in df.iterrows(): 
    subreddit.append(reddit.subreddit(row['sub']).subscribers) 
subreddit 

或者列表理解

subreddit = [reddit.subreddit(row['sub']).subscribers for index, row in df.iterrows()] 
print(subreddit)