我有一个1000行10列的数据框 这些列中的3列是&total; ' total_2013'' total_2014'和' total_2015' 我想创建一个新列,包含每行3年的总平均值,但忽略任何0值。
答案 0 :(得分:0)
如果您使用pandas:
使用DataFrame.mean利用skipna
属性。
首先使用以下代码0
替换None
:
columns = ['total_2013', 'total_2014', 'total_2015']
df[columns].replace(0, None)
然后计算mean
:
df["total"] = df[columns].mean(
axis=1, # columns mean
skipna=True # skip nan values
)