通过pandas数据帧缓慢迭代

时间:2014-03-31 16:18:34

标签: python pandas

我正在迭代一个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 个答案:

答案 0 :(得分:5)

您可以使用Boolean indexing对数据进行子集化,而不是遍历行:

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

然后你可以遍历这个子集化的df,用你的函数把它写出来。