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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

解決済

Python Pnadas グループ化のデータ集計について

watchdogs
watchdogs

総合スコア52

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

2回答

0グッド

0クリップ

186閲覧

投稿2022/12/09 02:11

前提

Pandasを使用してデータ成形を行っており下記の件で困っています。

実現したいこと

各cuty毎の最新のtimeとそのActiveを出力する方法を知りたいです。
イメージ説明

上記の表から
下記の表に書きなすプログラムを教えてほしいです。
イメージ説明

ユニークを取って最新にする書き方がわかりません。
ご教授頂けますと助かります。
よろしくお願い致します。

検証環境
Python 3.9.8

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答2

0

ベストアンサー

いかのような感じでできます。

Python

1import pandas as pd 2 3df = pd.DataFrame({'city':['FUK','TKO','FUK','TKO'], 'time':['2022-01-01','2022-02-01','2022-03-01','2022-04-01'], 'Active':[0,1,0,1]}) 4df['time'] = pd.to_datetime(df['time']) 5print(df) 6""" 7 city time Active 80 FUK 2022-01-01 0 91 TKO 2022-02-01 1 102 FUK 2022-03-01 0 113 TKO 2022-04-01 1 12""" 13 14# city毎にtimeの最大レコードを抽出 15idx = df.groupby('city')['time'].transform(max) == df['time'] 16print(df[idx]) 17""" 18 city time Active 192 FUK 2022-03-01 0 203 TKO 2022-04-01 1 21"""

投稿2022/12/09 02:36

can110

総合スコア36230

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

watchdogs

2022/12/09 02:56

回答ありがとうございます。グループバイのやり方での解決策が知りたかったので、非常に助かりました。

0

dataframe内の時系列が順不同になっている点を失念していたので削除(回答になっていないため)

元の回答はdrop_duplicatesの紹介でしたが、groupbyの解説も含まれていたので一応リンクだけ残しておきます。
https://note.nkmk.me/python-pandas-duplicated-drop-duplicates/

投稿2022/12/09 02:27

編集2022/12/09 02:58
pig_vba

総合スコア650

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

watchdogs

2022/12/09 02:55

ヒントをありがとうございます。あらかじめ時間を最新順にソートしてdrop_duplicates関数を用いて解決しました。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。