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

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

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

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

Q&A

解決済

1回答

742閲覧

pandasデータの降順並び替えの調整に関するご相談

yukicb

総合スコア21

Python

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

0グッド

0クリップ

投稿2020/03/25 09:15

前提・実現したいこと

MacdでVSCodeを利用し、csvデータの降順並び替えを実施した所、
「994・99・986」と最初の2桁が優先され、99が高く処理され並べられてしまいます。(エラーコード参照)
こちらを通常通り、上から「994・986・99」と並び替えるにはどのような処理を行えば良いのか、
お分かりの方がいればご教示いただけますと幸いでございます。

該当のソースコード

Python

1from pandas import * 2 3df=pandas.read_csv("trend1.csv") 4df=df.drop(['Unnamed: 0'], axis = 1) 5year2019 = df[df["date"].str.contains("2019/", na=False)] #NaNでデータは無視 6year2019=year2019.sort_values(by=["bookmarks"], ascending=False) 7year2019.to_csv("trend2.csv")

実行結果

※下記実行後CSVデータの一部抜粋となります。 ,title,date,bookmarks 780,まだExcelで消耗してるの?Pythonによる自動集計ガイド 基礎編 - Qiita,2019/03/15,994 users 292,開発環境構築スクリプトのCIをGitHub Actionsで回す - プログラムモグモグ,2019/11/18,99 users 396,200行のVue.jsでスネークゲームを作った - Qiita,2019/09/28,99 users 798,SPA が、ウェブ開発のベストプラクティスになる時代 - mizchi's blog,2019/03/05,986 users 461,プログラミング言語の習得に必要なもの - Qiita,2019/08/18,98 users 264,Scala で書いたマイクロサービスを Go で書き直した話 - JX通信社エンジニアブログ,2019/12/02,98 users 234,バッチ処理のスケジューリングパターン - google-cloud-jp - Medium,2019/12/12,98 users 416,Pythonでの開発を効率的に進めるためのツール設定,2019/09/16,98 users 331,"Thank you, Guido | Dropbox Blog",2019/10/30,98 users 202,Pythonを学ぶときに読むべき本2020年版 - 初心者からプロになるために - Lean Baseball,2019/12/24,978 users

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

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

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

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

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

guest

回答1

0

ベストアンサー

bookmarks 列が文字列型になっているため、ソートした際に辞書順ソートになっています。
" users" を消して、数値に変換したあと、ソートすれば数値の大小でソートされるようになります。

python

1from io import StringIO 2 3import pandas as pd 4 5text = StringIO( 6 """,title,date,bookmarks 7780,まだExcelで消耗してるの?Pythonによる自動集計ガイド 基礎編 - Qiita,2019/03/15,994 users 8292,開発環境構築スクリプトのCIをGitHub Actionsで回す - プログラムモグモグ,2019/11/18,99 users 9396,200行のVue.jsでスネークゲームを作った - Qiita,2019/09/28,99 users 10798,SPA が、ウェブ開発のベストプラクティスになる時代 - mizchi's blog,2019/03/05,986 users 11461,プログラミング言語の習得に必要なもの - Qiita,2019/08/18,98 users 12264,Scala で書いたマイクロサービスを Go で書き直した話 - JX通信社エンジニアブログ,2019/12/02,98 users 13234,バッチ処理のスケジューリングパターン - google-cloud-jp - Medium,2019/12/12,98 users 14416,Pythonでの開発を効率的に進めるためのツール設定,2019/09/16,98 users 15331,"Thank you, Guido | Dropbox Blog",2019/10/30,98 users 16202,Pythonを学ぶときに読むべき本2020年版 - 初心者からプロになるために - Lean Baseball,2019/12/24,978 users""" 17) 18 19 20df = pd.read_csv(text) 21df["bookmarks"] = df["bookmarks"].str.replace(" users", "").astype(int) 22df.sort_values("bookmarks", inplace=True, ascending=False) 23df

投稿2020/03/25 10:07

tiitoi

総合スコア21956

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

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

yukicb

2020/03/25 12:00

ありがとうございます! 上記にて解決できました!! 丁寧なご回答ありがとうございました????‍♂️!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問