簡體   English   中英

將 Excel 轉換為 Python 公式

[英]counifs Excel to Python Formula

Excel公式
=countif(C:L,"<=100" , C:L,">0")
嘗試計算其值 <=100 且 >0(或!= 0)的單元格

我能夠使用 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()

找到的唯一方法是使用 for 循環,一次做一行,因為在 python 上沒有簡單的方法來執行“countif”,而是使用 forloop

您可以使用 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM