快速筛选Pandas DataFrame中的奇数行,偶数行,奇数列,偶数列
筛选奇数行和偶数行
在进行数据统计分析中,很多时候我们也需要精简数据,滤除不需要的内容。由于Pandas提供了使用列表提取数据的功能,可以通过使用整除取余的办法即可实现筛选奇数行和偶数行的功能。
当DataFrame的行索引是数字类型的时候
// 保留奇数行,删除偶数行
df=df[df.index%2==0]
// 保留偶数行,删除奇数行
df=df[df.index%2==1]
别忘了DataFrame是从0开始的。
类似的,也可以使用整除3取余,整除4取余的方法筛选三分行,四分行。
当DataFrame的行索引不是数字类型的时候
当行索引不是数字类型的时候,df.index不支持整除取余等数学运算。为此,可以生成一个长度为df.index的布尔值列表,实现奇偶数行筛选。
//生成列表实现筛选,保留奇数行,删除偶数行
df=df[[i%2==0 for i in range(len(df.index))]]
//保留偶数行,删除奇数行
df=df[[i%2==1 for i in range(len(df.index))]]
类似的,也可以使用整除3取余,整除4取余的方法筛选三分行,四分行。
筛选奇数列,偶数列
使用DataFrame.iloc方法实现列选择,同样是通过生成列表的方式实现筛选。
//保留奇数行,删除偶数行
df=df.iloc[:,[i%2==0 for i in range(len(df.columns))]]
//保留偶数行,删除奇数行
df=df.iloc[:,[i%2==1 for i in range(len(df.columns))]]