如何对数据帧进行乘法

2024-09-28 20:55:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,有1115行和1列,另一个有18行和1列。我想将它们相乘,得到一个包含1115行和18列的数据帧。我尝试并获得了一个带有NaN值的数据帧(1115x18)

这就是我试图做的:

A是数据帧(1115x1)

A=pd.DataFrame(data=np.array(Mass*Per_RS))
               0
0     221.154473
1     -10.370921
2     203.945678
3      78.121608
4      78.121608
...          ...
1110  222.374772
1111  111.326855
1112  420.025814
1113  -87.408167
1114  158.834902

df是一个具有18行和100列的数据帧。”“钢筋”是数据框df(18X1)的一列

0       2.20495
1   1.34068e-07
2     0.0477244
3     0.0109445
4   1.81331e-07
5   6.69694e-07
6   3.18976e-07
7     0.0110236
8   0.000229472
9    0.00208144
10    0.0247276
11      4.10829
12      10.0569
13     0.830528
14      23.6096
15  9.14322e-06
16      2.20263
17   0.00142633
18  0.000887094

我的代码是:

Results=(df['Reinforcing steel']).T*Per_RS

我得到这个(它只适用于第一列):

              0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18
0     487.633639 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1     -22.867319 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2     449.689177 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3     172.253916 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4     172.253916 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
...          ...  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..
1110  490.324331 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1111  245.469687 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1112  926.134175 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1113 -192.730275 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1114  350.222358 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Tags: 数据代码dataframedfdatanpnanarray
1条回答
网友
1楼 · 发布于 2024-09-28 20:55:17

我已尝试用提供的数据复制您的问题。这个样品可以帮助你Results的列数为datasetdf['Reinforcing steel'],行数为datasetA

import pandas as pd
A = pd.DataFrame({"Mass*Per_RS": [
    221.154473,
    -10.370921,
    203.945678,
     78.121608,
     78.121608,
    222.374772,
    111.326855,
    420.025814,
    -87.408167,
    158.834902,
]})
df = pd.DataFrame({'Reinforcing steel': [  
    2.20495,
  1.34068e-07,
    0.0477244,
    0.0109445,
  1.81331e-07,
  6.69694e-07,
  3.18976e-07,
    0.0110236,
  0.000229472,
   0.00208144,
    0.0247276,
      4.10829,
      10.0569,
     0.830528,
      23.6096,
  9.14322e-06,
      2.20263,
   0.00142633,
  0.000887094
]})
Results = pd.DataFrame(A["Mass*Per_RS"].apply(lambda row: row * df['Reinforcing steel']))
Results
             0         1           2           3           4           5           6           7           8           9           10          11          12          13          14          15          16          17          18
0   487.634555  0.000030    10.554465   2.420425    0.000040    0.000148    0.000071    2.437918    0.050749    0.460320    5.468619    908.566710  2224.128420     183.674982  5221.368646     0.002022    487.121477  0.315439    0.196185
1   -22.867362  -0.000001   -0.494946   -0.113505   -0.000002   -0.000007   -0.000003   -0.114325   -0.002380   -0.021586   -0.256448   -42.606751  -104.299315     -8.613340   -244.853296     -0.000095   -22.843302  -0.014792   -0.009200
2   449.690023  0.000027    9.733185    2.232083    0.000037    0.000137    0.000065    2.248216    0.046800    0.424501    5.043087    837.867989  2051.061289     169.382596  4815.075879     0.001865    449.216869  0.290894    0.180919
3   172.254240  0.000010    3.728307    0.855002    0.000014    0.000052    0.000025    0.861181    0.017927    0.162605    1.931760    320.946221  785.661199  64.882183   1844.419916     0.000714    172.072997  0.111427    0.069301
4   172.254240  0.000010    3.728307    0.855002    0.000014    0.000052    0.000025    0.861181    0.017927    0.162605    1.931760    320.946221  785.661199  64.882183   1844.419916     0.000714    172.072997  0.111427    0.069301
5   490.325254  0.000030    10.612703   2.433781    0.000040    0.000149    0.000071    2.451371    0.051029    0.462860    5.498794    913.580052  2236.400845     184.688475  5250.179417     0.002033    489.809344  0.317180    0.197267
6   245.470149  0.000015    5.313007    1.218417    0.000020    0.000075    0.000036    1.227223    0.025546    0.231720    2.752846    457.363005  1119.603048     92.460070   2628.382516     0.001018    245.211871  0.158789    0.098757
7   926.135919  0.000056    20.045480   4.596973    0.000076    0.000281    0.000134    4.630197    0.096384    0.874259    10.386230   1725.587851     4224.157609     348.843199  9916.641458     0.003840    925.161459  0.599095    0.372602
8   -192.730638     -0.000012   -4.171502   -0.956639   -0.000016   -0.000059   -0.000028   -0.963553   -0.020058   -0.181935   -2.161394   -359.098098     -879.055195     -72.594930  -2063.671860    -0.000799   -192.527851     -0.124673   -0.077539
9   350.223017  0.000021    7.580300    1.738369    0.000029    0.000106    0.000051    1.750932    0.036448    0.330605    3.927606    652.539840  1597.386726     131.916833  3750.028502     0.001452    349.854520  0.226551    0.140901

相关问题 更多 >