我有一个包含10列整数的数据框架。我想创建这样的新专栏:
df["newcol"] = df[col1]*(11-1)+df["col2"]*(11-2)+..+df[col10]*(11-10)我已经做了上面的工作,但我只是想知道是否有一种奏鸣曲的方法。不是这样写下来的,因为有时我的数据框架会有100多列。
发布于 2022-08-05 03:56:25
易道
df['newcol'] = df.mul(11 - np.r_[1: df.shape[1] + 1]).sum(1)示例
>>> df
0 1 2 3 4 5 6 7 8 9
0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
>>> df.mul(11 - np.r_[1: df.shape[1] + 1])
0 1 2 3 4 5 6 7 8 9
0 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0
1 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0
>>> df.mul(11 - np.r_[1: df.shape[1] + 1]).sum(1)
0 55.0
1 55.0
dtype: float64发布于 2022-08-06 08:56:35
我把它处理好了:
df[col_list].mul(afloat-np.r_[1:df[col_list].shape[1]+1]).sum(1)https://stackoverflow.com/questions/73244236
复制相似问题