-1
以下は私のデータフレームの小さなサンプルです。Pythonエラー:TypeError:dtyped [float64]配列と[bool]型のスカラーを比較できません
In [10]: df
Out[10]:
TXN_KEY Send_Agent Pay_Agent Send_Amount Pay_Amount
0 13272184 AWD120279 AEU002152 85.99 85.04
1 13272947 ARA030122 AEV000034 402.01 400.00
2 13273453 API185805 API190139 22.98 22.98
3 13273870 ANO080012 API352676 490.00 475.68
4 13274676 AUK359401 AED002782 616.16 600.87
5 13274871 ACL000105 ACB020203 193.78 185.21
6 13275194 ADA374245 ANP023424 100.00 98.50
grouped = df.groupby('Send_Agent')
Send_Amountが次のSend_Amountと同じである回数を計算する関数はうまくいきます。
def repeat_count(s):
return (s.shift() == s).sum()
In [35]: result = grouped.agg({'Send_Amount':[repeat_count]})
In [36]: result
Out[36]:
Send_Amount
repeat_count
Send_Agent
A03010016 0
A03020026 0
A10000075 0
A10000316 0
A10000932 0
A10060013 0
A10080022 0
A11120030 0
しかし、私はSend_Amountは900〜1000であり、私がエラーを取得していますすべてのSend_Agentの数を計算しようとしています:
In [27]: def banded_txns(s):
return(s >=900.00 & s < 1000.00).count()
In [28]: result = grouped.agg({'Send_Amount':banded_txns})
TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]
私はなぜそれを把握することはできませんよあるタイプの比較のためであり、他のタイプの比較のためではない。前もって感謝します。
sense.thanksになりohh..that。 –
@vishal bhattこれまたは任意の回答があなたの質問を解決した場合、チェックマークをクリックして[受諾](http://meta.stackexchange.com/q/5234/179419)を検討してください。これは、あなたが解決策を見つけ出し、回答者とあなた自身の両方に評判を与えていることを広範なコミュニティに示します。これを行う義務はありません。 –