目標: 次のように、ラベルで構成されるデータフレームに列を追加します。
(-10,5]=-2
(-5,0]= -1
[0,5) = 0
[5,10)= 1
[10,15)= 2
....等
df.ptdelta
の間にある場合、(-10,5]
の列に -2 が加算されますdf
。
試行 1:
df=pd.read_csv("___.csv",names="a b c d e f".split())
df.set_index(["a", "b"], inplace=True)
d=df["d"]<5
u=df["d"]>=0
p=df["d"][d & u]
これはインスタンスを見つけられないようです:Series([], dtype=object)
しかし実際には、df["d"]
この範囲内に倍精度があります。
試行 2:
zero=[x for x in df["d"] if (0<=df["d"]) & (df["d"]<5)]
結果は次のとおりです。
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
これらのいずれかが失敗するのはなぜですか? どうもありがとう。
df.head() gives:
price ptdelta II pl
date time
date time price ptdelta II pl
1/5/2009 930 842 0 - 0
1620 845.2 3.2 - 6.6
1/6/2009 930 851.8 6.6 - -3.6
1620 848.2 -3.6 - -13