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

标签 python pandas

我正在分析一些按州汇总的联邦数据。行标签是状态名称,列标签是构面标签。单元格值是总体计数。这个 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 |
+--------------------------------+

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

如何在 pandas 中实现这一点?我在 python 方面经验丰富,但作为 pandas 新手,无法弄清楚。

TIA, 特拉维斯

最佳答案

使用.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

关于python - 使用来自不同数据帧的数据规范数据帧中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26539177/

相关文章:

python - pandas:如果其他列的任何子组中的值 = yes,则将列的值设置为 true

python - 导入了必要的包,但我仍然收到 ImportError : cannot import name 'Adam' from 'keras.optimizers'

python - 如何使父类(super class)独有的类属性

Python Datareader 证券交易所市场期权

python - 为什么内联 if/else 比 Python 中的 .get() 更快?

python - 将 pandas 列从 15 年 4 月 3 天的字符串转换为 15.3 年

python - Django 测试 : how to specify the apps whose databases I want to use?

python - 对数据进行编码以进行插补,然后进行解码

pandas - Imputer 减少了我的数据框中列的大小

python - Pandas 中的小时系列到矩阵