【发布时间】:2019-06-06 11:43:06
【问题描述】:
以下代码读取一个 csv 文件并遍历 'sub' 列的行:
df = pd.read_csv("Subs_test.csv", usecols= ['sub'])
for index, row in df.iterrows():
subreddit = reddit.subreddit(row['sub']).subscribers
subreddit
我的问题:
它只给我最后一行的结果。 你能帮我看看这里发生了什么吗?
谢谢
【问题讨论】:
-
因为你一直在循环中重新定义
subreddit。一旦你离开循环,只有它的最后一个化身才能存活 -
也许您在每次迭代时都覆盖了
subreddit? -
^^ 最后的化身 :D
-
无论如何都不需要显式迭代。
df['sub']= df['sub'].apply(lambda x: reddit.subreddit(x).subscribers)并删除for循环。无法在我的手机上进行测试,但我认为应该可以使用 -
实际上,考虑一下,这可能会返回一个列表,所以也许你最好将它从 DF 中拉出来。我不知道API。如果它返回整数个订阅者,那么保留在 DF 中就可以了。
标签: python python-3.x pandas loops