【发布时间】:2021-07-23 07:23:59
【问题描述】:
我有一个字典列表,整个列表代表不同的国家,每个字典包含每个国家的基本数据如下: 示例
df.countries[3]
"[{'iso_3166_1': 'DE', 'name': 'Germany'}, {'iso_3166_1': 'US', 'name': 'United States of America'}, {'iso_3166_1': 'IN', 'name': 'India'}]"
当然,还有其他单元格,其中国家列表只有一个字典,如下所示: 示例 b
df.countries[0]
"[{'iso_3166_1': 'US', 'name': 'United States of America'}]"
或者像这样的空列表: 示例 c
df.countries[505]
'[]'
我想做的是:
- 删除国家名称为 United States of America BUT 的行 仅当它是列表中唯一的国家时,而不是当有 其他国家,例如 a。
我试图集思广益并想出了这样的事情:
countryToRemove = "United States of America"
for index, row in df.iterrows():
if countryToRemove in row['countries']:
# row to be removed
但即使其他国家/地区存在,它也会删除其中包含美国的任何行。
编辑:我的数据框如下:
countries
0 [{'iso_3166_1': 'DE', 'name': 'Germany'}, {'is...
1 [{'iso_3166_1': 'US', 'name': 'United States o...
2 []
【问题讨论】:
-
请在序列(列表、元组等)上重复您的教程材料,并学习每种数据类型的基本方法。在这里,您还需要检查列表长度是否为 1。
-
您能否编辑您的问题,以便我们重现您的问题? This might be a useful resource for that purpose.
标签: python pandas list dictionary data-structures