Menu
Coddy logo textTech

Custom Modifications

Coddyの「Pandas Analytics」コースのレッスン 13/19。

カスタムの修正を行うには、.applyメソッドを使用し、lambdaまたはfunctionを渡します。例えば、列の各数値の2乗を求めるには次のようにします。

df['num_squared'] = df['num'].apply(lambda x: x**2)

これは、同じ列同士を掛け合わせることでも実現できます。

df['num_squared'] = df['num'] * df['num']

各行の値に2を加算するには:

df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2

Series内の各値を別の値に置換するには、.mapメソッドを使用し、関数、辞書、またはSeriesを渡します。

例えば、果物の名前を数値に置き換えたい場合は次のようになります:

fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)

.map.applyはどちらも関数を受け取ることができます:

df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)

それらの違いについて詳しく知るには、こちらをご覧ください。

 

challenge icon

チャレンジ

簡単

CSVファイル stats.csv には、統計に関する情報が含まれています。

以下は、ファイルの最初の5行です:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE
  • CATEGORY の値を {"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4} に置換してください。
  • SKILL_MASTERY という名前の新しい列を作成します。この列に次の数式で値を入力してください:SKILL_POINTS 列と UTILIZATION 列の値を掛け合わせます。その結果が 5 より大きい場合は 4 で割り、そうでない場合は 2 で割ります。最後に、その結果に IS_VALID 列の値を加算します。
  • 結果を SKILL_MASTERY に基づいて昇順でソートしてください。

結果を df 変数に格納してください。

自分で試してみよう

# pandas は pd として既にインポートされています
df = pd.read_csv("./stats.csv")
# 以下にコードを書いてください

Pandas Analyticsのすべてのレッスン