gpt4 book ai didi

Python:从数据框中删除字典中不存在值的行

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:53 25 4
gpt4 key购买 nike

我有一个如下所示的 csv 文件(或数据框):

Text    Location    State
A Florida, USA Florida
B NY New York
C
D abc

以及一个键值对为的字典:

stat_map = {
'FL': 'Florida',
'NY': 'New York',
'AR': 'Arkansas',
}

如何删除第三行和第四行,即带有文本 C 和 D 的行,以便我的数据框仅包含我在字典中有值(value)的行。应删除状态为空白或具有不在字典值中的某个值的所有行。最终输出应如下所示:

Text    Location    State
A Florida, USA Florida
B NY New York

请帮忙。

最佳答案

使用extract + replace ,最后按 dropna 删除行:

stat_map = {
'FL': 'Florida',
'NY': 'New York',
'AR': 'Arkansas',
}

#get list from all values from keys and values of dict
L = list(stat_map.keys()) + list(stat_map.values())
print (L)
['NY', 'FL', 'AR', 'New York', 'Florida', 'Arkansas']


df['State1'] = df['Location'].str.extract('(' + '|'.join(L) + ')', expand=False)
.replace(stat_map)
df = df.dropna(subset=['State1'])
print (df)
Text Location State State1
0 A Florida, USA Florida Florida
1 B NY New York New York

关于Python:从数据框中删除字典中不存在值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46784707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com