ある条件が他の列で満たされている場合は、別の列から値を印刷する必要があります。 特定の条件が他の列で満たされている場合、別の列から値を印刷する方法はありますか?
DFは4列年、GDP、差信号
df=pd.read_excel("file.xls", names = ["year","GDP"])
gdp["diff"] = gdp["GDP"].diff(1)
signal = gdp["diff"].clip(lower = -1.0, upper=1.0)
gdp["signal"] = signal
信号は、POS値のNEG値の-1及び+1であるから成ります。
条件は、2つの連続する負の期間がある年を印刷する必要があります。
rec_start=(gdp["signal"]==-1) & (gdp["signal"].shift(-1)==-1)
gdp["start"]=rec_start # which gives a boolean mask
RECとスタートは同じ
year GDP diff signal start
0 1999q4 12323.3 NaN NaN False
1 2000q1 12359.1 35.8 1.0 False
2 2000q2 12592.5 233.4 1.0 False
3 2000q3 12607.7 15.2 1.0 False
4 2000q4 12679.3 71.6 1.0 False
5 2001q1 12643.3 -36.0 -1.0 False
6 2001q2 12710.3 67.0 1.0 False
7 2001q3 12670.1 -40.2 -1.0 False
8 2001q4 12705.3 35.2 1.0 False
9 2002q1 12822.3 117.0 1.0 False
は、今私はちょうど2連続でTruesのための年間の行を印刷するには、右sintaxを把握する必要があります。
foo=gdp.ix[(gdp["signal"]==-1) & (gdp["signal"].shift(-1)==-1)]["year"].iloc[0] print(foo)
にしようとして
はトリックをしました。
ご協力いただきありがとうございます。
あなたのデータはどこにありますか? –
えええええええええええええええええええええええええええええええええええええええええええええええええええええええええんだん: – Keulando
'print(df.head(10))'と質問に貼り付けてください。 –