# format of input data
import pandas as pd
data = {'Name':['A', 'B', 'C', 'D'],
'T1':[1,34,29,42],
'T2':[2,0,19,0],
'T3':[0,10,19,1],
'T4':[0,21,40,100]}
df = pd.DataFrame(data)
print(df)
# get shape of df when Column A is >0
df[df['T1']>0].shape
# get shape of df when A and B are > 0
df[(df['T1']>0) & ((df['T2']>0))].shape
# get shape of df when A and (B > 0 or C > 0)
df[(df['T1']>0) & ((df['T2']>0) | (df['T3']>0))].shape
# get shape of df when A and (B > 0 or C > 0 or D > 0) >0
df[(df['T1']>0) & ((df['T2']>0) | (df['T3']>0) | (df['T4']>0))].shape
存在很多列的挑战,我需要修复列B并将B更改为C,将C更改为D,然后重新运行代码。 我想解决这个问题的想法:
第1步:在第1列> 0时获取DF的形状(按分组方式和大小分别进行操作
第2步:在第1列> 0和第2列> 0时获得DF的形状
步骤3:在每个步骤中,我只想查找下10列。因此,迭代地增加列(不确定如何?)以包含OR子句:列1> 0和(列2> 0 OR列3> 0)。运行它直到到达第10列,然后将结果附加到新的DF。