COUNTIF(查找)+在Datafram上

2024-10-01 17:27:04 发布

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

我有一个包含3000万行的数据集作为一个数据框架,我创建了另一个df,它应该是第一个df的“摘要”表(类似groupby)。主数据帧有一个名为'HeadSecNum'的列,其值从0.0到15.0,第二个数据帧Id希望在'Total count'列上有一个如何计算这些0.0到15.0数字的行数。你知道吗

我尝试了类似的方法来匹配行,但找不到.count()语句的位置和放置方式:

headingtable['Total Count'] = headingtable.apply(lambda x: data.loc[x['HeadSecNum'] == data['HeadSecNum'], x['HeadSecNum']].reset_index(drop=True), axis=1)

显然,这给了我一个尺寸误差。我应该用dataframes运行for语句吗?或者不需要?你知道吗

摘要表设置:

headstruct={'HeadSecNum':[0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0],
              'Heading Sector':['N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW'],
              'Total Count':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
              'PCT':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}
headingtable=pd.DataFrame(data=headstruct)
print(headingtable)

在数据库中计算匹配值:

data=dl.dataload(r'NewBases/test.csv')
    ##calculate heading & wind direction sector
data['HeadSecNum']=np.round_(data['Heading']/22.5)

Tags: 数据框架iddfdatacount数字语句

热门问题