python - 如何将 numpy 数组与 pandas 系列相乘?

标签 python pandas numpy

我有一个大小为 (50,0)

的 numpy 系列
array([1.01255569e+00, 1.04166667e+00, 1.07158165e+00, 1.10229277e+00,
       1.13430127e+00, 1.16387337e+00, 1.20365912e+00, 1.24007937e+00,
       1.27877238e+00, 1.31856540e+00, 1.35281385e+00, 1.40291807e+00,
       1.45180023e+00, 1.49700599e+00, 1.55183116e+00, 1.60051216e+00,
       1.66002656e+00, 1.73370319e+00, 1.80115274e+00, 1.87687688e+00,
       1.95312500e+00, 2.04750205e+00, 2.14961307e+00, 2.23613596e+00,
       2.34082397e+00, 2.48015873e+00, 2.61780105e+00, 2.75027503e+00,
       2.91715286e+00, 3.07881773e+00, 3.31564987e+00, 3.57142857e+00,
       3.81679389e+00, 4.17362270e+00, 4.51263538e+00, 4.95049505e+00,
       5.59284116e+00, 6.17283951e+00, 7.02247191e+00, 8.03858521e+00,
       9.72762646e+00, 1.17370892e+01, 1.47928994e+01, 2.10084034e+01,
       3.12500000e+01, 4.90196078e+01, 9.25925926e+01, 2.08333333e+02,
       5.00000000e+02, 1.25000000e+03])

我还有一个长度为 50 的 pandas 数据帧。

            x
0   9.999740e-01
1   9.981870e-01
2   9.804506e-01
3   9.187764e-01
4   8.031568e-01
5   6.544660e-01
6   5.032716e-01
7   3.707446e-01
8   2.650768e-01
9   1.857835e-01
10  1.285488e-01
11  8.824506e-02
12  6.030141e-02
13  4.111080e-02
14  2.800453e-02
15  1.907999e-02
16  1.301045e-02
17  8.882996e-03
18  6.074386e-03
19  4.161024e-03
20  2.855636e-03
21  1.963543e-03
22  1.352791e-03
23  9.338596e-04
24  6.459459e-04
25  4.476854e-04
26  3.108912e-04
27  2.163201e-04
28  1.508106e-04
29  1.053430e-04
30  7.372442e-05
31  5.169401e-05
32  3.631486e-05
33  2.555852e-05
34  1.802129e-05
35  1.272995e-05
36  9.008454e-06
37  6.386289e-06
38  4.535381e-06
39  3.226546e-06
40  2.299394e-06
41  1.641469e-06
42  1.173785e-06
43  8.407618e-07
44  6.032249e-07
45  4.335110e-07
46  3.120531e-07
47  2.249870e-07
48  1.624726e-07
49  1.175140e-07

我想将每个 numpy 细胞与 pandas 细胞相乘。

示例:

1.01255569e+00*9.999740e-01
1.04166667e+00*9.981870e-01

期望的输出

相同大小的 numpy 数组。

最佳答案

您可以只在 Pandas 数据框中使用 'x' 系列的 .values 属性:

df['x'].values * arr

df 是您的数据框,arr 是您的数组。

上述表达式将以 Numpy 数组 的形式返回结果。如果您想要 Pandas DataFrame,则可以省略 .values 的使用:

df['x'] * arr

关于python - 如何将 numpy 数组与 pandas 系列相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53688526/

相关文章:

python - 将一个字符串与另一个字符串的多个子字符串进行比较

python - Pandas DataFrame.merge 内存错误

python - 将列表转换为数据框/调整一行循环

python-3.x - Tensorflow 2 对象检测 API : Numpy Version Errors

python - 生成包含另一个 NumPy 数组索引的 NumPy 数组

python - Pandas 中的数据透视表出现意外输出

python - 如何从 Python 的 for 循环中的列表中获取某些值?

python - 如何显示测试样本的决策树的路径?

python - Pandas 根据另一个数据框中的匹配列填充新的数据框列

python - 限制 Pandas Pivot 中的列值