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

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

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

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

pandas

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

Q&A

解決済

2回答

369閲覧

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

watchdogs

総合スコア54

Python 3.x

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

pandas

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

0グッド

0クリップ

投稿2022/12/09 02:11

前提

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

実現したいこと

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

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

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

検証環境
Python 3.9.8

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

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

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

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

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

guest

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

総合スコア38256

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

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

watchdogs

2022/12/09 02:56

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

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

総合スコア807

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

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

watchdogs

2022/12/09 02:55

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問