擅长:python、mysql、java
<p>我对最后一个答案投了赞成票,但我想我会给您展示一个将所有内容都保存在数据帧中的示例</p>
<pre><code>data = """RefNumber, Reviewer 1, Reviewer 2,Reviewer 3,Reviewer 4,Reviewer 5
9676/2,6,3,2,,
0526/4,6,3,1,5,1
1842/1,5,3,1,5,
2693/3,5,5,1,2,
2515/1,6,3,1,5,3
2987/1,4,1,3,,
3841/1,4,3,1,,
3402/1,4,3,1,5,
"""
import pandas
import itertools
import StringIO
import numpy
buffer = StringIO.StringIO(data)
df = pandas.read_csv(buffer, index_col=0)
# EVERYTHING ABOVE IS MOSTLY SETUP CODE FOR THE EXAMPLE
def get_combos(items, lower_bound=3):
"""
Return all combinations of values of size lower_bound
for items
"""
usable = items.dropna()
combos = list()
n_combos = range(lower_bound, len(usable) + 1)
for r in n_combos:
combos += list(itertools.combinations(usable, r))
return combos
df['combos'] = df.apply(get_combos, axis=1)
df['means'] = df['combos'].map(lambda items: [numpy.mean(x) for x in items])
</code></pre>