假设您具有以下数据框:

        Col1     Col2    Col3    Col4   Col5
Index
Row1    Code1   Code2   Code3  Code4  Code5
Row2    1       0       1       1       0
Row3    10      0       10      0       10
Row4    7070    56746   87647   969     687876
Row5    98798   79657   6876    977     6678


是否可以根据行(索引)的条件选择列?

例如

for all columns with Row2==1:
    do something with all the rows in those columns


同样

for all columns with Row3==0:
    do something with all the rows in those columns


等等

我在想类似

for "Row3" in df.index:
    if "Row3" == 0:
        # Do certain calculation

最佳答案

使用DataFrame.loc

m2 = df.loc['Row2'].eq(1)
#m2 = df.loc['Row2'].eq('1') #if string type

cols_Row2 = df.columns[m2]
#Index(['Col1', 'Col3', 'Col4'], dtype='object')

#for col in cols_Rows2:
    #.....




索引数据框

df.loc[:,m2]
#         Col1    Col3    Col4
#Index
#Row1    Code1   Code3   Code4
#Row2        1       1       1
#Row3       10      10       0
#Row4     7070   87647     969
#Row5    98798    6876     977

关于python - Pandas :根据行内容选择列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59901091/

10-10 02:33