我有一个pandas dataframe像下面
Country_list
{'INDIA': '98.31%', 'ASEAN': '1.69%'}
{'KOREA': '100.0%'}
{'INDIA': '95.00%', 'ASEAN': '2.50%','ANZ': '2.50%'}
{'INDIA': '95.00%', 'ASEAN': '2.50%','ANZ': '1.25%','KOREA': '1.25%'}
我想做下面的
a)将所有数字和特殊字符替换为“”(不含空格)
B)在不同区域名称之间插入新字符-逗号
我尝试了下面的方法,但这看起来并不高效或优雅
df['Country_list'] = df['Country_list'].str.replace(r":",'', regex=True).str.replace(r"%", '', regex=True).str.replace(r"{",'', regex=True).str.replace(r"}",'', regex=True)
我希望我的输出像下面这样
INDIA,ASEAN
KOREA
INDIA,ASEAN,ANZ
INDIA,ASEAN,ANZ,KOREA
3条答案
按热度按时间llew8vvj1#
如果需要通过
,
连接字典的键,将字符串转换为字典并在列表解析中连接键:替代解决方案:
xwbd5t1u2#
如果你有字典的字符串表示,你可以使用正则表达式
extractall
,然后groupby.agg
:输出:
为了好玩,另一个基于点积的(黑客)解决方案:
输出:
h7wcgrx33#
你可以试试这个方法:
输出: