我有两个数据集:
-人口:按字母顺序显示美国各州的人口。
-数据:具有200,000多行
population.head()
state population
0 Alabama 4887871
1 Alaska 737438
2 Arizona 7171646
3 Arkansas 3013825
4 California 39557045
我正在尝试从其他数据集中添加一个名为“事件”的新列。
我尝试过:人口['事件'] = data.state.value_counts()。sort_index()
但是我得到以下结果:
state population incidents
0 Alabama 4887871 NaN
1 Alaska 737438 NaN
2 Arizona 7171646 NaN
3 Arkansas 3013825 NaN
4 California 39557045 NaN
该如何解决?
编辑: data.state.value_counts()。sort_index()
Alabama 5373
Alaska 1292
Arizona 2268
Arkansas 2753
California 15975
Colorado 3069
Connecticut 2984
Delaware 1643
District of Columbia 3091
Florida 14610
Georgia 8717
````````````````````````
答案 0 :(得分:0)
如果要从一个数据集中向另一个数据集中添加特定的列,您可以这样做
population['incidents'] = data[['columntoappend']]
您的RHS(右侧)必须是一栏,在您的情况下则不是。
https://www.google.com/amp/s/www.geeksforgeeks.org/adding-new-column-to-existing-dataframe-in-pandas/amp/
答案 1 :(得分:0)
如果您的索引长度一致,则执行此操作的方法如下:
population['incidents'] = [x for x in data.state.value_counts().sort_index()]
我真的无法解释为什么您的方法会导致NaN对象。无论如何,这都是不正确的,因为您正在将整个系列分配给总体数据集中的每一行。借助列表理解功能,您可以为每一行分配一个值。