前提・実現したいこと
time seriesをdfとして取得したのち、規定の列の特定の値以上(今回は1行目の0を省いた50以上の値)をlistで取得したいと思っています。その際、規定となる列と別列で対応する値をそれぞれ取得したいと考えています。
規定となる列の値は取得出来たのですが、対応する別列のデータを取得する良い方法はないでしょうか?
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
python
1import pandas as pd 2from itertools import groupby 3 4##sample data 5df = pd.DataFrame({ 'col1' : [0,0,0,60,60,60,60,0,0,0,80,80,80,0,0], 6 'col2' : [1,1,1,6,6,6,6,1,1,1,8,8,8,1,1] 7 }) 8# print(df) 9 10##sort, split 11dst = [ 12 list(i) 13 for k, i in groupby(df['col1'], key=lambda threshold: threshold > 50) 14 if k 15 ] 16print(dst[0],dst[1]) 17 18#出力結果[60, 60, 60, 60] [80, 80, 80] 19#出力したい結果[6, 6, 6, 6] [8, 8, 8]
試したこと
①get_group()で取得できると思ったが出来ず
②dfとして読みこんでいるのが'col1'のみだと考えdf全体を読み込みを図るも良いアイディアが浮かばず中断
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/10 09:57