我的数据是由1000个样本组成的,这些样本来自于熊猫数据框中存储的几个不同国家的一个比率分布:
s1 s2 ... s1000 pop
region country
NA USA 0.25 0.27 0.23 300
CAN 0.16 0.14 0.13 35
LA MEX ...
我需要把每个样本乘以人口。到为此,我目前有:
for column in data.filter(regex='sample'):
data[column] = data[column]*data['pop']
虽然这是可行的,但对列进行迭代似乎违背了python和numpy
的精神。有没有更自然的方式让我看不见?我通常会使用apply
,但我不知道如何使用apply
,仍然会获得每行的唯一填充值。你知道吗
更多内容:我之所以需要做这个乘法运算,是因为我想按地区聚合数据,例如,将美国和加拿大合并到北美。然而,因为我的数据是利率,我不能简单地相加-我必须乘以人口,把他们变成计数。你知道吗
我可能会这样做
在这里,除了最后一列之外,您可以使用任何其他基于loc的过滤器,而不是
iloc
-ing每一列。你知道吗相关问题 更多 >
编程相关推荐