2017-08-07 14 views
-2

Iがパンダデータフレームに以下の表を持っている:棒グラフ

0 2017/06/04 00:00:00 31.900000 26.700000 
1 2017/06/04 00:30:00 31.600000 25.000000 
2 2017/06/04 01:00:00 31.400000 24.300000 
3 2017/06/04 01:30:00 31.200000 24.100000 
4 2017/06/04 02:00:00 30.800000 26.000000 
5 2017/06/04 02:30:00 30.500000 27.000000 
6 2017/06/04 03:00:00 30.300000 27.300000 
7 2017/06/04 03:30:00 30.100000 27.600000 
8 2017/06/04 04:00:00 29.900000 27.800000 
9 2017/06/04 04:30:00 29.600000 27.900000 
10 2017/06/04 05:00:00 29.200000 27.900000 
11 2017/06/04 05:30:00 28.900000 27.900000 
12 2017/06/04 06:00:00 30.800000 27.900000 
13 2017/06/04 06:30:00 35.700000 27.900000 
14 2017/06/04 07:00:00 38.300000 26.100000 
15 2017/06/04 07:30:00 37.500000 25.100000 

テーブルは、次のクエリ使用してExcelファイルから抽出した

import numpy as np 
df = pd.read_excel(r\temperature.xlsx") 

およびIは、解析しましたそれらをデータに基づいて分類し、特定の範囲の温度に基づいてそれらをグループ化しようとしましたが、< = 5C、10〜20C、> = 30Cなどの必要な範囲でこれらのグループを作成する方法はわかりません。

+0

Idは何かを試してから助けを求めて助言を求めます。 – Travis

+1

ようこそ!スタックオーバーフロー!私たちがあなたのためにいくつかのコードを書いてくれるように思えます。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常は、ポスターがすでに問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、期待される出力、実際に得られる出力(コンソール出力、スタックトレース、コンパイラエラーなど)を含めることです。適用可能)。あなたが提供する詳細があれば、受け取る可能性の高い回答が増えます。 – iFlo

+0

私はパンダのデータフレームに以下のテーブルを持っています: –

答えて

0

パンダのcut functionのように見える場合があります。将来的には、データフレームを再現するコードを与えることは、それを投棄するよりはるかに優れています。ような何か:

df = pd.DataFrame([ 
["2017/06/04 00:00:00",31.900000,26.700000], 
["2017/06/04 00:30:00",31.600000,25.000000], 
["2017/06/04 01:00:00",31.400000,24.300000], 
["2017/06/04 01:30:00",31.200000,24.100000], 
["2017/06/04 02:00:00",30.800000,26.000000], 
["2017/06/04 02:30:00",30.500000,27.000000], 
["2017/06/04 03:00:00",30.300000,27.300000], 
["2017/06/04 03:30:00",30.100000,27.600000], 
["2017/06/04 04:00:00",29.900000,27.800000], 
["2017/06/04 04:30:00",29.600000,27.900000], 
["2017/06/04 05:00:00",29.200000,27.900000], 
["2017/06/04 05:30:00",28.900000,27.900000], 
["2017/06/04 06:00:00",30.800000,27.900000], 
["2017/06/04 06:30:00",35.700000,27.900000], 
["2017/06/04 07:00:00",38.300000,26.100000], 
["2017/06/04 07:30:00",37.500000,25.100000]], 
columns = ['time','t_high','t_low']) 

あなたは、一つの温度欄にあなたの分析を行うことに名前を付け、あなたが気に温度境界を定義する場合:

temps = df['t_low'] 
bins = [23,25,27,30] 

今、あなたはパンダを適用する準備が整いました'cut()関数では、定義したバケットでデータをグループ化し、いくつかの統計を確認します。

temps.groupby(pd.cut(temps,bins)).describe() 

      count  mean  std min 25% 50% 75% max 
t_low                
(23, 25] 3.0 24.466667 0.472582 24.1 24.20 24.3 24.65 25.0 
(25, 27] 5.0 26.180000 0.732803 25.1 26.00 26.1 26.70 27.0 
(27, 30] 8.0 27.775000 0.218763 27.3 27.75 27.9 27.90 27.9