我尝试分析来自激光雷达的风速数据,创建一个数据框,其中的列为所调查的高度,行为该高度处的NaN数。我的脚本创建了数据框并根据需要命名列,但未在相应的单元格中写入NaN的数量。知道可能是什么问题吗?
df=pd.read_csv(fileApath,delimiter=',',skiprows=1)
heights = ['123','98','68','65','57','48','39','38','29','18','10']
nanvalues_speed=pd.DataFrame()
for i in heights:
nanvalues_speed[i+'m']=pd.notnull(df['Horizontal Wind Speed (m/s) at '+i+'m']).sum()
您正在寻找的功能是pandas.DataFrame.isna()https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.isna.html
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1,2,3,np.nan ,5],
'b': ['a',np.nan ,'c','d','e']})
df.isna().sum()
pandas.DataFrame.isna()函数将返回一个布尔值相同大小的对象,该对象指示DataFrame中的值是否为NA。