我有一个包含 100 列的 Dataframe,我想将一列('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
关于python - 如何将多列乘以另一列 Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46778392/