假设我有一个数据帧
my_df = pd.DataFrame([10, 20, 30, 40, 50], columns=['col_1'])
我想添加一个新列,其中新列中每行的值是从该行开始的col_1
中值的平均值。在本例中,新列(我们称之为'col_2'
)将是[30, 35, 40, 45, 50]
。你知道吗
下面的代码并不好,但它至少描述了如何生成这些值。你知道吗
for i in range(len(my_df)):
my_df.loc[i]['col_2'] = my_df[i:]['col_1'].mean()
我怎样才能以一种干净、惯用的方式做到这一点而不引起SettingWithCopyWarning
?你知道吗
可以反转列,取增量平均值,然后再次反转。你知道吗
类似的数组级方法可以是使用
np.cumsum
并除以不断增加的元素数。你知道吗相关问题 更多 >
编程相关推荐