我在pandas中有一个表,其中每一行都是一个具有属性的对象。每个对象看起来像
{'type': 'Feature',
'properties': {'GEO_ID': '0400000US23',
'STATE': '23',
'NAME': 'Maine',
'LSAD': '',
'CENSUSAREA': 30842.923}}
我想检查每一行,在properties
字典中再添加一个名为TERPS
的属性,使其看起来像
{'type': 'Feature',
'properties': {'GEO_ID': '0400000US23',
'STATE': '23',
'NAME': 'Maine',
'LSAD': '',
'CENSUSAREA': 30842.923,
'TERPS': 82}} <----- new attribute
TERPS
属性的值应该来自另一个字典counts
,如下所示
California 1161
New York 601
Florida 588
Minnesota 533
Maryland 463
Washington 438
Texas 363
Pennsylvania 356
Ohio 348
我可以为一行执行此操作:
df.iloc[0]['properties']['TERPS'] = counts[df.iloc[0]['properties']['NAME']]
但如何对所有行执行此操作?这将获得每一行的值,但我正在努力分配它
df.apply(lambda x : counts[x['properties']['NAME']], axis=1)
不能在
lambda
中使用=
,但可以在可与apply()
一起使用的函数中使用最小工作示例
相关问题 更多 >
编程相关推荐