我有一个数据帧,它包含一个字符串列,其中包含几个不同的4字符,可以用|
或&
分隔,但并不总是这样。我试图将字典映射到每个4个字符的离散项,但遇到了问题。第23.4版
我尝试使用的基本代码:
df = df.replace(dict, regex=True)
或者尝试选择特定列:
df['Col'] = df['Col'].replace(dict, regex=True)
两者都会引发以下错误:
ValueError: The truth value of an array with more that one element is ambiguous. Use a.any() or a.all()
字典的值是类型list
。这是执行.replace
时的问题吗?你知道吗
用样本df和dict更新
ID Code
ABCD 00FQ
JKFA 8LK9|4F5H
QWST 2RLA|R1T5&8LK9
dict={'00FQ':['A','B'], '8LK9':['X'], '4F5H':['U','Z'], '2RLA':['H','K'], 'R1T5':['B','G'] }
dict中的元素将比dataframe中的元素多。你知道吗
更新预期输出
ID Code Logic
ABCD 00FQ ['A','B']
JKFA 8LK9|4F5H ['X'] | ['U','Z']
QWST 2RLA|R1T5&8LK9 ['H','K'] | ['B','G'] & ['X']
总体目标是对两个数据帧执行这个替换,然后比较两边的ID's
是否等价。你知道吗
dict中定义的regex可能与数据帧的多行匹配,python对从dict中获取哪个替换值感到困惑
而且,当检查numpy数组的布尔值时,此错误将强制用户避免猜测。 如果
因此,它抛出这个错误以允许程序员显式地提到它。你知道吗
请转到Here以获取更多说明。你知道吗
这里有一个函数,允许您解析字符串中的相关值:
应用它来提取值列表,如下所示:
映射到相关的
logic
值:相关问题 更多 >
编程相关推荐