セクション 3. 章 5
single
列の最小値の検索
メニューを表示するにはスワイプしてください
最小値または最大値の上位を出力する、もう一つの重要な関数について学習します。値を並べ替えてから特定の行数を抽出できることはすでにご存知でしょう。予想通り、pandas ではこれを1行のコードで実行できます。最も古い15台の車を取得する例をご覧ください。
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
1つの列で並べ替えた後、さらに別の列で並べ替えたい場合は、必要な順序で列名のリストを指定します。次の例では、まず 'Year' で、次に 'Engine_volume' で並べ替えます。このコードは最初に最も古い車を5台抽出し、年が同じ場合は 'Engine_volume' 列の値が小さい車が優先されます。
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
以下の2つの例を比較してください。ここでは、関数を少し発展させます。カラムの 'Year' の値を使った例を示します。このカラムでは 'Year' の値が重複する場合があります。そのため、前述の構文で最も古い車を10台出力しようとすると、関数は単に10個の値だけを取得します。10番目と同じ値が11番目や12番目にあっても考慮されません。このような場合を防ぐために、keep = 'all' メソッドに引数 .nsmallest() を追加できます。例を見て、実行して違いを確認してください。
1234567891011import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
タスク
スワイプしてコーディングを開始
ここでは、次のアルゴリズムに従ってください:
- カラム
'Year'の値が2010より大きい車のデータを取得します。 - 最も安い
15台の車(カラム15の最小値'Price'件)を抽出します。カラム'Price'の重複値もすべて含めます。 - データセット
data_cheapestのすべての値を出力します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 5
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください