2
私は以下のSampleDfのようなデータを持っています。最初の '平均'、 '合計'または 'カウント'を選択するコードを作成しようとしています新しい列 'Agg'に入れてください。私は以下のコードはほとんどそれを行うが、それは階層を持っています。それで、コードでは、CountがSumの前に来る場合、Sumを 'Agg'カラムに入れます。私は以下のOutputDfを持って、私が得たいものを示しています。場合は、最初に発生する、すなわち目的の任意の期間、[「平均」、「和」、「カウント」] -
を:発生順序に基づいて文字列を解析する
Sample Data:
SampleDf=pd.DataFrame([['tom',"Avg(case when Value1 in ('Value2') and [DateType] in ('Value3') then LOS end)"],['bob',"isnull(Sum(case when XferToValue2 in (1) and DateType in ('Value3') and [Value1] in ('HM') then Count(LOS) end),0)"]],columns=['ReportField','OtherField'])
Sample Output:
OutputDf=pd.DataFrame([['tom',"Avg(case when Value1 in ('Value2') and [DateType] in ('Value3') then LOS end)",'Avg'],['bob',"isnull(Sum(case when XferToValue2 in (1) and DateType in ('Value3') and [Value1] in ('HM') then Count(LOS) end),0)",'Sum']],columns=['ReportField','OtherField','Agg'])
Code:
import numpy as np
SampleDf['Agg'] = np.where(SampleDf.SQLTranslation.str.contains("Sum"),"Sum",
np.where(SampleDf.SQLTranslation.str.contains("Count"),"Count",
np.where(SampleDf.SQLTranslation.str.contains("Avg"),"Avg","Nothing")))
ありがとう、それはトリックでした。 – ndderwerdo
@ndderwerdoなぜ、アップアップしないの? –
申し訳ありませんが、緑のチェックマークをクリックしました。私はstackoverflowのすべての習慣ではないよ。チェックでは、答えが正しく働いたことを確認していますか?アップヴォートはどういう意味ですか?私は先に進み、それにアップヴォートを与えた。間違いなくそのチップを感謝します! – ndderwerdo