.query()でデータを選択する

pandas によるデータの結合

Aaren Stubberfield

Instructor

.query() メソッド

.query('SOME SELECTION STATEMENT')
  • 入力文字列を受け取ります
    • 入力文字列。返される行を決定するために使用されます
    • SQL 文の WHERE 句の後にある文と似た入力文字列
      • SQLの事前知識は不要です
pandas によるデータの結合

単一条件でのクエリ実行

この表は stocks です

  date        disney      nike      
0 2019-07-01  143.009995  86.029999 
1 2019-08-01  137.259995  84.5      
2 2019-09-01  130.320007  93.919998 
3 2019-10-01  129.919998  89.550003 
4 2019-11-01  151.580002  93.489998 
5 2019-12-01  144.630005  101.309998
6 2020-01-01  138.309998  96.300003 
7 2020-02-01  117.650002  89.379997 
8 2020-03-01  96.599998   82.739998 
9 2020-04-01  99.580002   84.629997 
stocks.query('nike >= 90')
  date        disney      nike      
2 2019-09-01  130.320007  93.919998 
4 2019-11-01  151.580002  93.489998 
5 2019-12-01  144.630005  101.309998
6 2020-01-01  138.309998  96.300003
pandas によるデータの結合

複数条件でのクエリ、「and」「or」

この表は stocks です

  date        disney      nike      
0 2019-07-01  143.009995  86.029999 
1 2019-08-01  137.259995  84.5      
2 2019-09-01  130.320007  93.919998 
3 2019-10-01  129.919998  89.550003 
4 2019-11-01  151.580002  93.489998 
5 2019-12-01  144.630005  101.309998
6 2020-01-01  138.309998  96.300003 
7 2020-02-01  117.650002  89.379997 
8 2020-03-01  96.599998   82.739998 
9 2020-04-01  99.580002   84.629997 
stocks.query('nike > 90 and disney < 140')
  date        disney      nike     
2 2019-09-01  130.320007  93.919998
6 2020-01-01  138.309998  96.300003
stocks.query('nike > 96 or disney < 98')
   date        disney      nike      
5  2019-12-01  144.630005  101.309998
6  2020-01-01  138.309998  96.300003 
28 020-03-01  96.599998   82.739998
pandas によるデータの結合

更新されたデータセット

この表は stocks_long です

  date        stock   close     
0 2019-07-01  disney  143.009995
1 2019-08-01  disney  137.259995
2 2019-09-01  disney  130.320007
3 2019-10-01  disney  129.919998
4 2019-11-01  disney  151.580002
5 2019-07-01  nike    86.029999 
6 2019-08-01  nike    84.5      
7 2019-09-01  nike    93.919998 
8 2019-10-01  nike    89.550003 
9 2019-11-01  nike    93.489998 
pandas によるデータの結合

.query() を使ってテキストを選択する

stocks_long.query('stock=="disney" or (stock=="nike" and close < 90)')
  date        stock   close     
0 2019-07-01  disney  143.009995
1 2019-08-01  disney  137.259995
2 2019-09-01  disney  130.320007
3 2019-10-01  disney  129.919998
4 2019-11-01  disney  151.580002
5 2019-07-01  nike    86.029999 
6 2019-08-01  nike    84.5      
8 2019-10-01  nike    89.550003
pandas によるデータの結合

練習しましょう!

pandas によるデータの結合

Preparing Video For Download...