我有一个专栏
col1
----
a
b
c
a
c
b
我有这样的映射:
KI13232:a
MK25436:b
SL365487:c
这意味着,创建一个名为ID
的新列,并且a
col1
ID
列KI13232
中ID col1
---- -----
KI13232 a
MK25436 b
SL365487 c
KI13232 a
SL365487 c
MK25436 b
的所有匹配项应为<c:if test="${count > 3}">
your logic
</c:if>
,同样适用于b和c值。
结果如下:
sealed trait List[+A]
case object Nil extends List[Nothing]
case class Cons[+A] (head: A, tail: List[A]) extends List[A]
我有一个更大的数据集来实现它。 Pandas实现这一目标的最佳方法是什么。
答案 0 :(得分:2)
将map
与DATABASE_URL
一起用于价值为dict comprehension
的互换键:
dict
或类似的:
d = {'KI13232':'a','MK25436':'b','SL365487':'c'}
df['ID'] = df['col1'].map({v:k for k, v in d.items()})
df['ID'] = df['col1'].map(dict(zip(d.values(),d.keys())))
如果列的顺序很重要,请添加insert
:
print (df)
col1 ID
0 a KI13232
1 b MK25436
2 c SL365487
3 a KI13232
4 c SL365487
5 b MK25436
索引:
df.insert(0, 'ID', df['col1'].map({v:k for k, v in d.items()}))
print (df)
ID col1
0 KI13232 a
1 MK25436 b
2 SL365487 c
3 KI13232 a
4 SL365487 c
5 MK25436 b
答案 1 :(得分:2)
借用Jez的词典
df['New']=df.col1.replace(d.values(),d.keys())
df
Out[921]:
col1 New
0 a KI13232
1 b MK25436
2 c SL365487
3 a KI13232
4 c SL365487
5 b MK25436