在pandas数据框中迭代缓慢

1 投票
1 回答
1492 浏览
提问于 2025-04-18 00:41

我正在遍历一个pandas的数据表,并把结果输出到一个文本文件里。不过,这个过程似乎非常慢(这个数据表大约有80,000行)。有没有什么办法可以加快这个速度呢?

for count, row in df.iterrows():
    print idx
    idx += 1

    # Extract data
    sid = row['ID']
    val = row['VALUE_']
    slp = row['Slope']

    if(slp <= 20):
        out_file.write('{0:10d} "InputFiles//data//{1:d}.sol"\n'.format(sid,val))       

1 个回答

6

你可以使用布尔索引来选择数据,而不是一个一个地遍历每一行:

subset_df = df[df['slp'] <= 20]

然后你可以对这个筛选出来的数据进行循环,使用你的函数将它写出来。

撰写回答