【问题标题】:Split odd rows of DataFrame without double iloc在没有双 iloc 的情况下拆分奇数行的 DataFrame
【发布时间】:2016-10-21 09:13:40
【问题描述】:

测试df:

import pandas as pd

df = pd.DataFrame({'A':[1,2,3,7,8,4],
                   'B':[4,5,6,1,4,6],
                   'C':[7,8,9,2,7,3],
                   'D':[4,5,2,1,0,6]})

df.set_index(['A','B'], inplace=True)
print (df)
     C  D
A B      
1 4  7  4
2 5  8  5
3 6  9  2
7 1  2  1
8 4  7  0
4 6  3  6

被奇数行分割:

print (df.iloc[::2])
     C  D
A B      
1 4  7  4
3 6  9  2
8 4  7  0

我需要再次拆分它 - df1 中的最后一行和 df2 中的所有其他行:

df1 = df.iloc[-2::2]
df2 = df.iloc[::2].iloc[:-1,:]

print (df1)
     C  D
A B      
8 4  7  0

print (df2)
     C  D
A B      
1 4  7  4
3 6  9  2

没有双重iloc是更好的解决方案吗?

【问题讨论】:

    标签: python pandas indexing dataframe


    【解决方案1】:

    这不行吗?

    df2 = df.iloc[:-2:2]
    
         C  D
    A B      
    1 4  7  4
    3 6  9  2
    

    【讨论】:

    • 如何更改偶数行?
    • 将起始索引更改为 1,因此 df.iloc[1:-2:2]
    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多