我想在我的数据框中添加一列。该列表示每行不带nan值的列数
我这样做:
for i_diagn in range(0,len(df_diagnassoc)):
df_diagnassoc['nr_diagnassoc'][i_diagn] = df_diagnassoc.shape[1] - df_diagnassoc.iloc[i_diagn].isnull().sum()
但是,它不识别df_diagnassoc['nr_diagnassoc'],因为它不存在。但是,我希望它在这个循环中创建它
然后我以另一种方式思考,没有循环:
df_diagnassoc['nr_diagnassoc'] = df_diagnassoc.shape[1] - df_diagnassoc.isnull().sum(axis = 1)
它会运行,但会显示警告:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
"""Entry point for launching an IPython kernel.
有什么建议吗?提前谢谢
我无法在没有数据的情况下尝试,但我认为这是添加每行非空值数的列的更好方法:
apply
在数据帧上使用axis=1
循环遍历行,并且count()
返回该行中非空值的数量相关问题 更多 >
编程相关推荐