【问题标题】:Keep all row with interval of 3 in python在python中保留所有间隔为3的行
【发布时间】:2022-01-07 08:08:44
【问题描述】:

我有一个数据框,例如:

COL1 COL2 COL3 
A    B    C
D    E    F
G    G    I
J    K    L
M    N    O
P    Q    R
S    T    U
V    W    X
Y    Z    A

我想只保留 3 行的间隔。 然后我应该得到:

COL1 COL2 COL3 
G    G    I
P    Q    R
Y    Z    A

有人有想法吗?

【问题讨论】:

标签: python pandas


【解决方案1】:

您可以使用@ 987654321和范围:

df.iloc[range(2,len(df),3)]

【讨论】:

    【解决方案2】:

    切片不能完成这项工作吗?:

    df[2::3]
    

    【讨论】:

      【解决方案3】:

      iloc property 允许您访问数据帧的切片,类似于 2d numpy 数组,如果沿索引(第一个轴)切片,则为 1d 列表/元组。

      在你的情况下,正如@QuangHoang 回答的那样:

      df.iloc[2::3]
      

      【讨论】:

        【解决方案4】:

        试试groupby

        out = df.groupby(df.index//3).tail(1)
        Out[446]: 
          COL1 COL2 COL3
        2    G    G    I
        5    P    Q    R
        8    Y    Z    A
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-22
          • 1970-01-01
          • 2021-07-13
          相关资源
          最近更新 更多