2017-02-02 4 views
2

私はスピードレコード(100万エントリ)を持つデータフレームを持っています。私はここにcw_binsで表される特定の間隔でそれらをビンしなければなりません。私は以下のコードでそれを行うことができました。しかし、この方法で各ビンにアクセスするには、cw_yのインデックスを変更する必要があります。 forループを書いて、これらを別のリストに保存することができます。私はちょうどこれをするためにパンダに良いがあるかどうかを知りたがっていました。パンダのデータフレームのデータを間隔で入力する

cw_bins=[14.0,15.0,16.0,17.0,18.0,19.0,20.0] 
groups=filter_power.groupby(pd.cut(filter_power.Speed,cw_bins)) 
cw_x=list(groups) 
cw_y=(cw_x[4]) 
cw_z=(cw_y[1]) 

答えて

4

​​はどうなりますか?

cw_bins=[14.0,15.0,16.0,17.0,18.0,19.0,20.0] 

# create a column with the index of the binned value 
df['binned_values'] = np.digitize(df.Speed.values, bins=cw_bins) 

# for example - get all records between 16.0 and 17.0 
df[df['binned_values'] == 3] 
関連する問題