对不起,是否曾经有人问过我,我找不到它。
我有人口普查人口数据框,其中包含美国每个县的人口。
df
的相关部分如下:
+----+--------+---------+----------------------------+---------------+
| | REGION | STNAME | CTYNAME | CENSUS2010POP |
+----+--------+---------+----------------------------+---------------+
| 1 | 3 | Alabama | Autauga County | 54571 |
+----+--------+---------+----------------------------+---------------+
| 2 | 3 | Alabama | Baldwin County | 182265 |
+----+--------+---------+----------------------------+---------------+
| 69 | 4 | Alaska | Aleutians East Borough | 3141 |
+----+--------+---------+----------------------------+---------------+
| 70 | 4 | Alaska | Aleutians West Census Area | 5561 |
+----+--------+---------+----------------------------+---------------+
如何在不修改df
的情况下获得美国四个地区中每个州的州人口的np.std(县人口的总和)?
答案 0 :(得分:0)
您可以使用transform
:
df['std_col'] = df.groupby('STNAME')['CENSUS2010POP'].transform("std")
IIUC,如果您想要县总数,您可以这样做:
state_pop = df.groupby('STNAME')['CTYNAME'].nunique().apply(np.std)
答案 1 :(得分:0)
您也可以直接使用标准偏差方法std()
new_df=df.groupby(['REGION'])[['CENSUS2010POP']].std()