加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何将多个列乘以另一个列pandas

发布时间:2020-12-20 12:34:44 所属栏目:Python 来源:网络整理
导读:我有一个100列的数据帧,我想将一列(‘Count’)值乘以6到74的列位置.请告诉我如何做到这一点.我已经试了 df = df.ix[0,6:74].multiply(df["Count"],axis="index")df = df[df.columns[6:74]]*df["Count"] 他们都没有工作 结果Dataframe应为100列,所有原始列的
我有一个100列的数据帧,我想将一列(‘Count’)值乘以6到74的列位置.请告诉我如何做到这一点.我已经试了

df = df.ix[0,6:74].multiply(df["Count"],axis="index")
df = df[df.columns[6:74]]*df["Count"]

他们都没有工作

结果Dataframe应为100列,所有原始列的列号为6到74,其中所有行都有乘积值.

解决方法

假设@MaxU提供相同的数据帧

不容易,但透视如何使用其他api元素.
pd.DataFrame.update和pd.DataFrame.mul

df.update(df.iloc[:,3:7].mul(df.Count,0))
df

    0   1   2          3          4          5          6   7   8   9     Count
0  89  38  89  15.366436   1.355862   7.231264   4.971494  12  70  69  0.225977
1  49   1  38   1.004190   1.095480   2.829990   0.273870  57  93  64  0.030430
2   2  53  49  49.749460  50.379200  54.157640  16.373240  22  31  41  0.629740
3  38  44  23  28.437516  73.545300  41.185368  73.545300  19  99  57  0.980604
4  45   2  60  10.093230   4.773825  10.502415   6.274170  43  63  55  0.136395
5  65  97  15  10.375760  57.066680  38.260615  14.915155  68   5  21  0.648485
6  95  90  45  52.776000  16.888320  22.517760  50.664960  76  32  75  0.703680
7  60  31  65  63.242210   2.976104  26.784936  38.689352  72  73  94  0.744026
8  64  96  96   7.505370  37.526850  11.007876  10.007160  68  56  39  0.500358
9  78  54  74   8.409275  25.227825  16.528575   9.569175  97  63  37  0.289975

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读