如何使用pandas实现每3行取第一行生成新DataFrame
实现方案
直接通过行索引取模的方式筛选目标行,默认行索引从0开始计数时,每3行的第一行对应索引为0、3、6……,满足索引 % 3 == 0的筛选条件。
完整示例代码
import pandas as pd # 构造输入数据集 df = pd.DataFrame({'x':[1,2,5,6,7,8,9,9,6]}) # 筛选每3行的第一行,reset_index用于重置输出结果的行索引为连续整数,不需要可以删除 df_out = df[df.index % 3 == 0].reset_index(drop=True) # 保存结果到csv文件,不需要保留行索引时加index=False参数 df_out.to_csv('筛选结果.csv', index=False)
特殊场景说明
如果你的DataFrame行索引不是默认的从0开始的连续整数,先手动重置索引再筛选即可:
df_out = df.reset_index(drop=True)[lambda x: x.index % 3 == 0].reset_index(drop=True)
内容的提问来源于stack exchange,提问作者Nickel
相关产品推荐
相关产品推荐

