我正在尝试创建一个python字典来引用'WHM1',2,3',HISPM1',2,3等,以及其他迭代来创建一个新列,其中包含一个特定的字符串,例如White或Hispanic。使用regex似乎是一条正确的道路,但我在这里遗漏了一些东西,拒绝在字典中硬编码整件事。你知道吗
我尝试了regex和regexdict的多次迭代:
d = regexdict({'W*':'White', 'H*':'Hispanic'})
eeoc_nac2_All_unpivot_df['Race'] =
eeoc_nac2_All_unpivot_df['EEOC_Code'].map(d)
将根据名为'EEOC_Code'
的现有列中的内容为每行创建一个新列,其中'White'
或'Hispanic'
。你知道吗
我不确定是否完全理解你的问题。但是,如果你所有的标签都有结构WHM。。。和HISP…,然后您只需检查第一个字符:
注意:只有当
eeoc_nac2_All_unpivot_df['EEOC_Code']
中的内容是可iterable时,它才起作用。你知道吗您的正则表达式是错误的-您似乎使用了glob语法而不是正确的正则表达式。你知道吗
在regex中,
x*
意味着“零个或更多的x
”,因此两个regex都会很容易地匹配空字符串。你显然是说相反,regex锚定符
^
与字符串开头匹配。你知道吗有几个第三方包1、2、3命名为
regexdict
,所以您应该指出您使用的是哪一个。我无法判断这里是否需要^
,或者regex是否需要完全匹配输入(我假设子字符串匹配就足够了,就像regex中通常的情况一样),因为这类细节在实现之间可能会有很大的不同。你知道吗相关问题 更多 >
编程相关推荐