2017-05-11 9 views
1

特定の列を返すテーブルを照会しており、これらの列の値に基づいて、条件をチェックして別の列を更新する必要があります。
qcutをsqlalchemyクエリに直接適用するにはどうすればよいですか? 可能ですか?Pythonでsqlalchemyクエリの一部としてpandas.qcutを適用するにはどうすればよいですか?

私の四分位数のしきい値は以下のとおりです。

2 -- A(updatable value) 
4 -- B 
5 -- C 
10 --D 

私はこの

クエリ=選択([example_table.c.valueA、example_table.c.valueB])のようなクエリを持っています

返されるもの:

valueA valueB 
    5  3 
    6  2 
    1  2 
    3  10 

私は、値Aに基づいて、出力は、四分位値を別のフィールドを追加したい:

valueA valueB QuartileValueForA   
    5  3     C 
    6  2     D 
    1  2     A 
    3  10     B 

qcutて、それは可能ですか?

答えて

0

あなたが(むしろ四分位qcutより)pd.cutでこれを行うことができます。

In [11]: pd.cut(df['valueA'], [-np.inf, 2, 4, 5, 10, np.inf], labels=list("ABCDE")) 
Out[11]: 
0 C 
1 D 
2 A 
3 B 
Name: valueA, dtype: category 
Categories (5, object): [A < B < C < D < E] 
+0

注: 'DF [ "QuartileValueForA"] = pd.cut(...)'と列にこれを設定することができます –

+0

ありがとうAndy Hayden。私はsqlalchemyクエリで直接行うことはできませんか? –

+0

私はそうは思わない。 –

関連する問題