首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pandas中获取在特定年份创建的许多项

在Pandas中获取在特定年份创建的许多项
EN

Stack Overflow用户
提问于 2019-11-25 04:40:57
回答 1查看 35关注 0票数 0

我正在编写一个函数,该函数在pandas数据框中返回在特定年份创建的许多项,其中搜索是在格式为2015-05-11的列'çreation‘中进行的:

代码语言:javascript
复制
def do_get_citations_per_year(data, year):
    result = tuple()
    citations = list()

    for index, row in my_ocan.iterrows():
        my_ocan['creation'] = pd.DatetimeIndex(my_ocan['creation']).year
        #print(my_ocan['creation'])
        if row['creation'] == year:
            citations.append(row['creation'])
    len_citations = len(citations)
    result=(len_citations)


    return result

当我运行我的函数print(my_ocan.get_citations_per_year(2015))时,我得到了0,但有一些项是在2015年创建的。

有什么问题吗?

谢谢你,祝你有美好的一天!

EN

回答 1

Stack Overflow用户

发布于 2019-11-25 04:45:41

尝试:

代码语言:javascript
复制
def do_get_citations_per_year(data, year):
    result = tuple()
    citations = list()
    my_ocan['creation'] = pd.DatetimeIndex(my_ocan['creation']).year

    for index, row in my_ocan.iterrows():
        #print(my_ocan['creation'])
        if row['creation'] == year:
            citations.append(row['creation'])
    len_citations = len(citations)
    result=(len_citations)


    return result

或者,我认为这将给你,你正在寻找的东西:

代码语言:javascript
复制
def do_get_citations_per_year(data, year):
    result = tuple()
    my_ocan['creation'] = pd.DatetimeIndex(my_ocan['creation']).year

    len_citations = len(my_ocan.loc[my_ocan["creation"]==year, "creation"])
    result=(len_citations)

    return result

(您不必遍历所有pandas行,只需使用.loc[<condition>, <colimns_to_return>]即可)

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

https://stackoverflow.com/questions/59022199

复制
相关文章

相似问题

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