【发布时间】:2016-12-14 23:14:52
【问题描述】:
from pandas import DataFrame,Series
import numpy
def avg_bronze_medal():
countries=['Russian Fed','Norway','Canada']
gold=[13,11,10]
silver=[11,5,10]
bronze=[9,10,5]
medal_counts={'country_name':Series(countries),'gold':Series(gold),'silver':Series(silver),'bronze':Series(bronze)}
df=DataFrame(medal_counts)
print df
print df['gold'].apply(numpy.mean, axis=1)
最后一行给出的错误是“IndexError: tuple index out of range”。我需要在数据框中使用应用函数,它应该获得金、铜和银列的平均值。在上面的例子中,我只使用了金柱。请帮我修复错误。
【问题讨论】:
-
df['gold'].mean() -
试试这个:
df.drop(['country_name'],1).mean() -
或者,删除
axiskwag,或者将其设置为 0... -
@Kartik,你是对的 - 计算每个国家的平均(金牌、银牌、铜牌)奖牌数量是没有意义的......
-
是的,我就是这么想的。但是,我删除了我的评论,因为谁知道为什么 OP 需要我们觉得奇怪的计算...
标签: python pandas numpy data-science