计算至少有一个非null响应的列值的数目(列的唯一值的数目)



这就是我的数据帧的样子:

状态变量1201811201812>Nan2018120182>NaN20182>NaN201833NaN20191201912019122019120192201923>NaN202020202020202020202020

您正在寻找的IIUC:

out = pd.concat([
df.dropna(subset='Var1').pivot_table(columns='Year',
values='State',
aggfunc='nunique'),
df.dropna(subset='Var2').pivot_table(columns='Year',
values='State',
aggfunc='nunique')
]).fillna(0).astype(int)
out.index = ['Var1 Num of States w/non-null', 'Var2 Num of states w/non-null']

打印(输出(:

Year                           2018  2019  2020
Var1 Num of States w/non-null     2     2     3
Var2 Num of states w/non-null     2     0     1

最新更新