を評価:は、私がデータフレームという名前のテストでは、このようなコラムをしている
Name Client
A P
B Q
C R
D S
E T
私が条件であれば、そのクライアントと同じデータフレームに新しい列のClientTypeを作成する必要があります= PまたはQ clienttype = first。クライアントタイプ= RまたはSクライアントタイプ=秒のように。誰でもkdbでこれを行う方法を教えてもらえますか?ありがとう
を評価:は、私がデータフレームという名前のテストでは、このようなコラムをしている
Name Client
A P
B Q
C R
D S
E T
私が条件であれば、そのクライアントと同じデータフレームに新しい列のClientTypeを作成する必要があります= PまたはQ clienttype = first。クライアントタイプ= RまたはSクライアントタイプ=秒のように。誰でもkdbでこれを行う方法を教えてもらえますか?ありがとう
これは辞書で解決できますか?これに
q)update ClientType:(`P`Q`R`S!`first`first`second`second)Client from tab
Name Client ClientType
----------------------
A P first
B Q first
C R second
D S second
E T
拡張子:あなたはまた、この種の問題のためのベクトルの条件文?[;;]
を使用することができます。残念ながら、多くのネストされたベクトルの条件文につながるには、この場合には:
update Clienttype:?[Client in`P`Q;`first;?[Client in`R`S;`second;`third]]from tab
Name Client Clienttype
----------------------
A P first
B Q first
C R second
D S second
E T third
あなたは2つのだけ可能なオプション(例えばfirst
とsecond
)このアプローチは有用であることが分かる可能性を持っていた場合。
あなたは、あなたのテーブルに私たちの列の種類を教えてくれませんでしたが、すべてのエントリは、単一の文字であれば、それらは最高のq個のchar型で表現されています。今
q)show t:([]Name:"ABCDE";Client:"PQRST")
Name Client
-----------
A P
B Q
C R
D S
E T
、クライアントタイプが最もよく保存されています
q)update Clienttype:1+(("i"$Client)-"i"$"P")div 2 from t
Name Client Clienttype
----------------------
A P 1
B Q 1
C R 2
D S 2
E T 3
たり、記号を使用しなければならない場合、
q)types:`first`second`third`fourth
q)update Clienttype:types(("i"$Client)-"i"$"P")div 2 from t
Name Client Clienttype
----------------------
A P first
B Q first
C R second
D S second
E T third
として計算することができる番号など