您是否在第一個sum
條目中看到NaN
條目?這條線:
branchConceptsWithScoresMin10['Sum'] = (branchConceptsWithScoresMin10.iloc[1:len(branchConceptsWithScoresMin10.columns)] > 0).sum(1)
如果這是:
branchConceptsWithScoresMin10['Sum'] = (branchConceptsWithScoresMin10.iloc[0:len(branchConceptsWithScoresMin10.columns)] > 0).sum(1)
注意從0
開始索引。
例:
df = pandas.DataFrame(columns=['a','b','c','d'], index=['x','y','z'])
df.fillna(0, inplace=True)
branchConceptsWithScoresMin10 = df
# Your original code
branchConceptsWithScoresMin10['Sum'] = (branchConceptsWithScoresMin10.iloc[1:len(branchConceptsWithScoresMin10.columns)] > 0).sum(1)
# This should return
# a b c d Sum
# x 0 0 0 0 NaN
# y 0 0 0 0 0.0
# z 0 0 0 0 0.0
branchConceptsWithScoresMin10['Sum'] = (branchConceptsWithScoresMin10.iloc[0:] > 0).sum(1)
# There should not be any NaNs here.
你說得對,我看到它的第一項。但是我在最後的許多條目中也看到了'NaN'。我不知道爲什麼。 – Patthebug
啊,我在做一些愚蠢的事情。 IT應該是'branchConceptsWithScoresMin10 ['Sum'] =(branchConceptsWithScoresMin10.iloc [0:]> 0).sum(1)'。現在它可以工作。 – Patthebug
查看你的數據框,然後在你得到'NaN'的那一行的總和之前,這應該給你一些想法。如果您在問題中發佈它,我們可以嘗試幫助。 –