熊猫:根据行内容选择列

时间:2020-01-24 17:23:21

标签: python pandas dataframe

假设您具有以下数据框:

        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

1 个答案:

答案 0 :(得分:1)

使用here

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