您是否在第一个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'的那一行的总和之前,这应该给你一些想法。如果您在问题中发布它,我们可以尝试帮助。 –