countifs Excel 到 Python 公式
counifs Excel to Python Formula
Excel公式
=countif(C:L,"<=100" , C:L,">0")
尝试对值 <=100 且 >0(或 != 0)
的单元格进行计数
Picture
我能够接近使用 iloc 对列进行分组,然后按以下方式过滤,然后计数,但似乎我陷入了深渊,所以我在这里 x(
columns=(filteredbyABArank.iloc[:, [2, 3, 4,5,6,7,8,9,10,11]]<=100) & (filteredbyABArank.iloc[:, [2, 3, 4,5,6,7,8,9,10,11]]>0)
columns.count()
您可以使用 np.select() 查找列 >0 或 <=100
的位置
condition_list = [(df['Column2'] > 0) & (df['Column2'] <= 100)]
choice_list = [1]
df['Count Column'] = np.select(condition_list, choice_list, 0)
print(df['Count Column'].sum())
看到你更新的问题,我发现你想专门针对 10 列。您可以将此更新选项与 np.select() 结合使用,使其更具动态性和可扩展性
column_list = ['Column1', 'Column2']
for i in range(0, len(column_list)):
condition_list = [(df[column_list[i]] > 0) & (df[column_list[i]] <= 100)]
choice_list = [1]
new_column__count = f'Count Column {column_list[i]}'
df[new_column__count] = np.select(condition_list, choice_list, 0)
df
Excel公式
=countif(C:L,"<=100" , C:L,">0")
尝试对值 <=100 且 >0(或 != 0)
Picture
我能够接近使用 iloc 对列进行分组,然后按以下方式过滤,然后计数,但似乎我陷入了深渊,所以我在这里 x(
columns=(filteredbyABArank.iloc[:, [2, 3, 4,5,6,7,8,9,10,11]]<=100) & (filteredbyABArank.iloc[:, [2, 3, 4,5,6,7,8,9,10,11]]>0)
columns.count()
您可以使用 np.select() 查找列 >0 或 <=100
的位置condition_list = [(df['Column2'] > 0) & (df['Column2'] <= 100)]
choice_list = [1]
df['Count Column'] = np.select(condition_list, choice_list, 0)
print(df['Count Column'].sum())
看到你更新的问题,我发现你想专门针对 10 列。您可以将此更新选项与 np.select() 结合使用,使其更具动态性和可扩展性
column_list = ['Column1', 'Column2']
for i in range(0, len(column_list)):
condition_list = [(df[column_list[i]] > 0) & (df[column_list[i]] <= 100)]
choice_list = [1]
new_column__count = f'Count Column {column_list[i]}'
df[new_column__count] = np.select(condition_list, choice_list, 0)
df