質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

Q&A

解決済

2回答

1125閲覧

Python 時系列データ 最小値を抽出する方法

tyarinosuke

総合スコア9

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

0グッド

0クリップ

投稿2021/07/14 11:59

Pythonで時系列データの最小値を抽出する方法が分かりません。

min関数を使用して、データフレーム全体の最小値を抽出することはできました。
patient(患者)ごとの時間の最小値(最初に取得されたデータ)を抽出する方法が分かりません。

患者ごとでも一回しかないデータはそのまま残したいです。

つまり、患者ごとに一つのデータでデータフレームを作成する。
複数データがある患者は、最初に取得されたデータを使用する。

ということをプログラミングで書きたいです。

参考として、エクセルでのデータをスクリーンショットで添付します。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyarinosuke

2021/07/14 12:45

早速ありがとうございます! できました!!!
guest

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"""

pandas.DataFrame.groupby

投稿2021/07/14 12:34

toshikawa

総合スコア388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyarinosuke

2021/07/14 12:45

早速ありがとうございました! 同様にできました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問