python - 不一致的向量化 Numpy 和 Pandas
问题描述
我想在 pd.DataFrame 上对一些简单的数学进行矢量化。特别是,我想将数据框的每一行除以该行的总和。我的问题是,每当我使用数据帧上的矢量化操作(不是 df.apply 或转换为实际的 numpy 数组)计算它时,计算就会关闭,并且我在输出数据帧中获得了额外的列。Numpy Vectorization 与 Pandas 不同吗?这让我很惊讶...
# random data
df = pd.DataFrame(np.random.randint(0, 100, size=(100, 5)))
# sum of each row
rowSum = np.sum(df, axis=1)
# PANDAS vectorization
divided = df / rowSum
mdarray = df.values # converts to 2d array
rowSumArray = rowSum.values.reshape(-1, 1) # converts to 1d array
# NUMPY vectorization
dividedArray = mdarray / rowSumArray
示例代码:
解决方案
推荐阅读
- html2pdf - 如何将 html2pdf 与 crontab 一起使用?
- uber-api - Uber Universal Deep Link 给出 CORS 错误
- javascript - 使用 Functions Cloud 实现数据库数据
- mlflow - mlflow 异常:使用 UUID 运行已处于活动状态
- angular - Angular 8 ngStyle 有时在循环中不起作用
- html - HTML/CSS 标记:在 HiPPI 显示器上使用 DIV 块绘制的不规则、不对称线条
- php - php redis 中的 diff b/w pset 和 psetx 是什么?是否可以将数组设置为值?
- php - node.js 类似 php 的分隔符
- python - 从右到左对齐在 Python Word Cloud 中不起作用
- xcode - 如何在 Xcode 中连接到 Gitlab 帐户?