如何在python中计算数据帧中的行数?

2024-05-23 22:52:31 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy as np
import pandas as pd 

year=np.array([1851.203,1851.632,1851.969,1851.975,1852.314,1852.347,1852.358,1852.385,1852.977,1853.196,1853.229,1853.319,1853.5,1854.135,1856.396,1856.506,1856.539,1856.618,1857.138,1857.404])
coal=pd.DataFrame(year)

def disaster(year1,year2):
    disaster = (coal >= year1) & (coal <= year2)
    print year.sum()

disaster(1852,1856)
>>>360806.155

我想写一个函数,在两年之间给我多少年。就像我把年份18521856加上所有的年份,但是我想知道在这个间隔之间有多少行(整数)。在

例如,1851是4次,1852是5次,当我把间隔(18511852)放在一起时,它会加起来,并给出9。我想要这个两年。在

有人能帮忙吗?在


Tags: importnumpydataframepandas间隔asnparray
2条回答
def disaster(year1,year2):
    return  np.sum((coal >= year1) & (coal <= year2+1))

print disaster(1851,1852)

>>> 
0    9
dtype: int64

我根据一些假设修改了你的代码。我想你要做的是用你的面具蒙版成原始的测向图,打印或求和,另外得到长度。要获得原始df使用掩码所需的长度,请调用dropna()删除NaN行,然后对结果df调用len

In [16]:

year=np.array([1851.203,1851.632,1851.969,1851.975,1852.314,1852.347,1852.358,1852.385,1852.977,1853.196,1853.229,1853.319,1853.5,1854.135,1856.396,1856.506,1856.539,1856.618,1857.138,1857.404])
coal=pd.DataFrame(year)

def disaster(year1,year2):
    total = (coal >= year1) & (coal <= year2)
    print (coal[total].sum())
    print(len(coal[total].dropna()))

disaster(1852,1856)
0    18529.76
dtype: float64
10

相关问题 更多 >