首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫Dataframe综合计算

熊猫Dataframe综合计算
EN

Stack Overflow用户
提问于 2015-06-22 10:38:13
回答 1查看 171关注 0票数 2

我有以下数据,df:

代码语言:javascript
复制
     Year  totalPubs  ActualCitations
0   1994         71       191.002034
1   1995         77      2763.911781
2   1996         69      2022.374474
3   1997         78      3393.094951

我想编写这样的代码:

前两年totalPubs现年/和引文

我希望创建一个名为“影响因子”的新列,并按如下方式生成该列:

代码语言:javascript
复制
for index, row in df.iterrows():
    if row[0]>=1996:
        df.at[index,'Impact Factor'] = df.at[index, 'ActualCitations'] / (df.at[index-1, 'totalPubs'] + df.at[index-2, 'totalPubs'])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-22 10:43:32

我相信以下是你想做的事:

代码语言:javascript
复制
In [24]:
df['New_Col'] = df['ActualCitations']/pd.rolling_sum(df['totalPubs'].shift(), window=2)
df

Out[24]:
   Year  totalPubs  ActualCitations    New_Col
0  1994         71       191.002034        NaN
1  1995         77      2763.911781        NaN
2  1996         69      2022.374474  13.664692
3  1997         78      3393.094951  23.240376

因此,上面使用rolling_sumshift生成前两年和,然后我们除以该值引文值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30977816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档