Pythonで時系列データの最小値を抽出する方法が分かりません。
min関数を使用して、データフレーム全体の最小値を抽出することはできました。
patient(患者)ごとの時間の最小値(最初に取得されたデータ)を抽出する方法が分かりません。
患者ごとでも一回しかないデータはそのまま残したいです。
つまり、患者ごとに一つのデータでデータフレームを作成する。
複数データがある患者は、最初に取得されたデータを使用する。
ということをプログラミングで書きたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
こうです。
python
1>>> print(df) 2 time Patient 30 2019-02-25 09:30:00 D 41 2019-02-21 15:30:00 A 52 2019-02-21 16:22:00 B 63 2019-02-25 08:05:00 D 74 2019-02-21 18:05:00 B 85 2019-02-25 15:30:00 C 96 2019-02-25 18:05:00 C 107 2019-03-25 16:22:00 C 118 2019-04-25 15:30:00 D 129 2019-02-25 18:05:00 C 1310 2019-02-25 09:30:00 D 1411 2019-03-25 06:22:00 D 1512 2019-04-25 12:45:00 D 16>>> result = df.groupby('Patient').min() 17>>> print(result) 18 time 19Patient 20A 2019-02-21 15:30:00 21B 2019-02-21 16:22:00 22C 2019-02-25 15:30:00 23D 2019-02-25 08:05:00
投稿2021/07/14 12:38
総合スコア24670
0
python
1import pandas as pd 2import numpy as np 3 4Patient=[i for i in 'ABCDDEEFFGHJJKKKLMMMNOPPQQQQRRR'] 5idx = pd.date_range("2019-02-01", periods=len(Patient), freq="4H", name='time') 6df=pd.DataFrame({'Patient': Patient},index=idx) 7 8""" 9 Patient 10time 112019-02-01 00:00:00 A 122019-02-01 04:00:00 B 132019-02-01 08:00:00 C 142019-02-01 12:00:00 D 152019-02-01 16:00:00 D 162019-02-01 20:00:00 E 172019-02-02 00:00:00 E 182019-02-02 04:00:00 F 192019-02-02 08:00:00 F 202019-02-02 12:00:00 G 212019-02-02 16:00:00 H 222019-02-02 20:00:00 J 232019-02-03 00:00:00 J 242019-02-03 04:00:00 K 252019-02-03 08:00:00 K 262019-02-03 12:00:00 K 272019-02-03 16:00:00 L 282019-02-03 20:00:00 M 292019-02-04 00:00:00 M 302019-02-04 04:00:00 M 312019-02-04 08:00:00 N 322019-02-04 12:00:00 O 332019-02-04 16:00:00 P 342019-02-04 20:00:00 P 352019-02-05 00:00:00 Q 362019-02-05 04:00:00 Q 372019-02-05 08:00:00 Q 382019-02-05 12:00:00 Q 392019-02-05 16:00:00 R 402019-02-05 20:00:00 R 412019-02-06 00:00:00 R 42""" 43 44df.reset_index().groupby('Patient').min() 45 46""" 47 48 time 49Patient 50A 2019-02-01 00:00:00 51B 2019-02-01 04:00:00 52C 2019-02-01 08:00:00 53D 2019-02-01 12:00:00 54E 2019-02-01 20:00:00 55F 2019-02-02 04:00:00 56G 2019-02-02 12:00:00 57H 2019-02-02 16:00:00 58J 2019-02-02 20:00:00 59K 2019-02-03 04:00:00 60L 2019-02-03 16:00:00 61M 2019-02-03 20:00:00 62N 2019-02-04 08:00:00 63O 2019-02-04 12:00:00 64P 2019-02-04 16:00:00 65Q 2019-02-05 00:00:00 66R 2019-02-05 16:00:00 67"""
投稿2021/07/14 12:34
総合スコア388
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
早速ありがとうございました!
同様にできました!!!
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/14 12:45