私は州の犯罪率のデータフレームを持っており、最も犯罪率の高い郊外10位をランク付けしたいと思います。現時点では、私は.rank()を使うことができますが、犯罪の価値ではなく、郊外の名前を出力したいのです最大値から第10の値までランク付けし、パンダの対応する行を出力します
ありがとう!
私は州の犯罪率のデータフレームを持っており、最も犯罪率の高い郊外10位をランク付けしたいと思います。現時点では、私は.rank()を使うことができますが、犯罪の価値ではなく、郊外の名前を出力したいのです最大値から第10の値までランク付けし、パンダの対応する行を出力します
ありがとう!
データのサンプルを提供していないため、データがどのように見えるかを推測する必要があります。しかし、データは次のように見える場合...
>>> df = pd.DataFrame({'state':['NH', 'CA', 'MA', 'FL'], 'crime_rates':[0.5, 1.3, 0.9, 1.1]})
>>> df
crime_rates state
0 0.5 NH
1 1.3 CA
2 0.9 MA
3 1.1 FL
は、単にascending=False
でソートすることは犯罪率によってソートされた状態を返します。
>>> df.sort_values('crime_rates', ascending=False)
crime_rates state
1 1.3 CA
3 1.1 FL
2 0.9 MA
0 0.5 NH
データのニュアンスが原因でこの解決策が機能しない場合は、データを投稿して改訂します。
keep
引数でnlargest
を使用して、タイの処理方法を判断できます。
犯罪率によって
df = pd.DataFrame({'Suburb':['Suburb No.'+str(i) for i in range(35)],'Crime Rate':np.random.randint(15,45,35)/100})
計算トップ10郊外
df.nlargest(10, 'Crime Rate')
をダミーデータを作成し出力:
Crime Rate Suburb
22 0.43 Suburb No.22
2 0.41 Suburb No.2
15 0.41 Suburb No.15
20 0.41 Suburb No.20
29 0.41 Suburb No.29
8 0.40 Suburb No.8
30 0.40 Suburb No.30
34 0.37 Suburb No.34
3 0.36 Suburb No.3
9 0.35 Suburb No.9
は、あなたがしようとしているデータやコードの一部を投稿することができますか? – spies006