dataframe 实现每隔n行取1行

dataframe 实现每隔n行取1行

近期在做数据分析的时候,用到了对csv文件每隔n行取1行的操作,正常情况下会立马想到for循环,可能大家还会有其他方法,这里只介绍我能够想到的方法,如下

import pandas as pd
df = pd.read_csv('diaoyan.csv',header=None)
a=[]
for i in range(0,len(df),86):##每隔86行取数据
    a.append(i)
file = df.iloc[a]
file

可以实现我想要的效果(此处是每隔86行取1行),如下
dataframe 实现每隔n行取1行_第1张图片
但是最近看到了pandas的read_csv方法里的skiprows参数后,突然有了灵感,感觉可以简化上述循环,然后就尝试了一下,果然特别方便的达到了我想要的效果(每隔86行取1行),代码如下:

import pandas as pd
diaoyan=pd.read_csv('diaoyan.csv',header = None,skiprows=lambda x: x > 0 and x % 86 != 0)
diaoyan

你可能感兴趣的:(python,pandas)