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

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

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

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

Q&A

1回答

548閲覧

正しく順位を求めdataflameに代入する方法

keis8221

総合スコア0

Python

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

0グッド

0クリップ

投稿2021/05/10 18:02

編集2021/05/10 23:19

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
pythonを用いて名前を入力するとcsvファイルに載ってある生徒の点数から順位を求め出力するというプログラムを作成しています.
途中までできたのですが以下のソースコードの部分で順位を新たにdataflameとして求めたのはいいもののその値が順位そのものではなく別の値に書き換わってしまいました.(size()に問題がありそうです)そのため,rankで求めた順位の値をそのまま利用するにはどう書き換えるとよいでしょうか.どなたか教えてください.
dfの中身は以下のようになっております.
名前 成績
0 相道森 73
1 揚村巴絵 61
2 浅井礼子 71
3 荒松晴一 73
4 有福政昭 80

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

df2 = df.groupby('成績').size().rank(ascending=False,method='min').reset_index(name='順位')

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

hayataka2049

2021/05/10 21:38

dfの中身がわからないと回答しづらいので、どんなデータフレームなのかわかるような情報を追記してください。
keis8221

2021/05/10 23:24

ただいまdfの内容を追記致しました. 大変申し訳ございません.
guest

回答1

0

csvの中身が書かれていないので適当に設定して回答します。
やりたいことは、以下のような事だと思います。
csvの中身に合わせて変更してください。

python

1>>> import pandas as pd 2>>> import io 3>>> 4>>> indata = '''名前,成績 5... 山田,60 6... 大川,50 7... 小田,60 8... 川中,90''' 9>>> 10>>> with io.StringIO(indata) as f: 11... df = pd.read_csv(f) 12... 13>>> print(df) 14 名前 成績 150 山田 60 161 大川 50 172 小田 60 183 川中 90 19>>> df2['順位'] = df2['成績'].rank(ascending=False,method='min').astype(int) 20>>> dict_by_name = df2.to_dict(orient='index') 21>>> print(dict_by_name['山田']['順位']) 222 23>>> print(dict_by_name['大川']['順位']) 244

投稿2021/05/10 22:51

ppaul

総合スコア24670

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問