使用来自不同数据帧的数据规范化数据帧中的数据



我正在分析一些按州汇总的联邦数据。行标签是状态名称,列标签是方面标签。单元格值是总体计数。这个df看起来像:

+---------------------------------------+
|                            f1     f2  |
| Alabama                    127    321 |
| Alaska                      84    12  |
| Arizona                    295    12  |
| Arkansas                    82    71  |
+---------------------------------------+

我有另一个数据帧,其中的行也是状态名,但单列是该状态的总体。这个df看起来像:

+--------------------------------+
|                          Counts|
| Alabama                    146 |
| Alaska                      89 |
| Arizona                    314 |
| Arkansas                    85 |
+--------------------------------+

我想将第一个数据帧中的每一列除以第二个数据帧的值。这使各州的发病率数据按人口标准化。

我怎样才能在熊猫身上做到这一点?我对蟒蛇很有经验,但我是熊猫新手,搞不懂。

TIA,Travis

.divaxis=0:一起使用

>>> left
           f1   f2
Alabama   127  321
Alaska     84   12
Arizona   295   12
Arkansas   82   71
>>> right
          Counts
Alabama      146
Alaska        89
Arizona      314
Arkansas      85
>>> left.div(right['Counts'], axis=0)
             f1     f2
Alabama   0.870  2.199
Alaska    0.944  0.135
Arizona   0.939  0.038
Arkansas  0.965  0.835

请注意,这将右手边与左手边的索引对齐,因此下面的结果与上面的结果相同:

>>> left.div(right.loc[::-1, 'Counts'], axis=0)  # permute the indices
             f1     f2
Alabama   0.870  2.199
Alaska    0.944  0.135
Arizona   0.939  0.038
Arkansas  0.965  0.835

最新更新