1
タイムウィンドウ内でtimeseries(時間と温度下の温度値)から値をビンしようとしています。 つまり、元の時間単位の値から、日単位、週単位または月単位でビニングされた値を抽出したいと思います。 groupby
+ TimeGrouper(" ")
とpd.cut
を組み合わせようとしましたが、結果が悪いです。ビンによるデータの二重グループ化とパンダとの時間
私はこのtutorialから、(各値を次の列のマッピングされた範囲に関連付ける)データをマップし、それに従ってグループ化することを提案しました。
def map_bin(x, bins):
kwargs = {}
if x == max(bins):
kwargs['right'] = True
bin = bins[np.digitize([x], bins, **kwargs)[0]]
bin_lower = bins[np.digitize([x], bins, **kwargs)[0]-1]
return '[{0}-{1}]'.format(bin_lower, bin)
df['Binned'] = df['temp'].apply(map_bin, bins=freq_bins)
ただし、はIndexErrorこの関数の結果を適用する:インデックスNサイズNと軸0の境界の外にあります。
理想的には、この作業を行い、同時に2つのグループ化を実現することができます:1つはビンで、もう1つはタイムグルーパです。
アルトン、私は私が正しく理解していれば、あなたはそれからすべての測定をしたいので、同時に – Andreuccio
で、ビンで日/週で、両方のグループたいです時間を平均化し、それを日、週、月ごとにグループ分けします。 –
ハ、それはあまりにも簡単だろう! 1時間ごとに室温を記録するセンサが1つあります(実際には10分15秒ですが、パンダでリサンプリングしました)。 私のdfは非常に単純です:最初の列:タイムスタンプ(インデックス付き)、2番目の列:温度 私のビンが[20,22,24,26,28,30]だった場合は、どのように多くのデータポイント(すなわち、どのように多くの時間温度値)が20日<22日であるか、毎日22日<24日間、および毎週どれくらいであるかを知る方法です。 それは意味がありますか? – Andreuccio