计算csv文件中的出现随机数

我有一个csv文件的列:recipe_name(索引),苹果,柑橘,香蕉,甜瓜,…(和更多列水果)。 对于每一个食谱,都有一行与每个水果的重量百分比。 但并不是所有的食谱都含有所有的水果。 这些是csv文件中的空白空间。 它看起来像这样:

recipe_name apple citrus banana melon pudding 1 0.45 0.78
pudding 2 0.23 0.15 0.12

现在我想知道每个食谱中的水果数量。 所以我想创build一个额外的列,如果第一个配方,例如包含猕猴桃,香蕉和苹果,在这个额外的列3号必须在那里。 所以像这样:

recipe_name apple citrus banana melon count pudding 1 0.45 0.78 2
pudding 2 0.23 0.15 0.12 3

我试图找出Excel,pandasDataFrame,pandasgroupby ..这一点,但我没有find一个解决scheme..任何人的想法?

调用感兴趣的列并通过param axis=1

 In [217]: df['count'] = df.ix[:,'apple':].count(axis=1) df Out[217]: recipe_name apple citrus banana melon count 0 pudding 1 0.45 0.78 NaN NaN 2 1 pudding 2 NaN 0.23 0.15 0.12 3 

你可以尝试这样的事情

 import csv with open(yourFileName, 'rU') as f: data = {row[0]:len([x for x in row[1:] if x]) for row in csv.reader(f, yourDialect)[1:]} 

这会给你一个字典,作为配方名称和值他们的水果计数键!