グループ化

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び、下記の設問に答えてください.

Q1:変数 df_propery を「Pre」についてグループ化し変数 grouped_Pre に代入してください
Q2:変数 mean_df の各列ごとの平均値を求め変数 mean_df に代入してください.
Q3:変数 mean_df の「Rent」について降順にソートし変数 asc_df に代入してください.

import pandas as pd

df_propery = pd.DataFrame([[“Shibuya”, 90000, 6.5, “Tokyo”],
[“Umeda”, 65000, 7.0, “Osaka”],
[“Kawasaki”, 55000, 7.0, “Kanagawa”],
[“Yokohama”, 80000, 6.0, “Kanagawa”],
[“Shinjuku”,88000, 8.0, “Tokyo” ],
[“Namba”, 47000, 10, “Osaka”]],
columns=[“Sta”, “Rent”, “Area”, “Pre”])
# Q1
grouped_Pre = ##########

[Q1の選択肢]
1. df_propery.group(“Pre”)
2. df_propery.groupby(“Pre”)
3. df_propery.DataFrame_to_group(“Pre”)

# Q2
mean_df= ##########

[Q2の選択肢]
1. grouped_Pre.mean(axis=0)
2. grouped_Pre.mean()
3. np.mean(grouped_Pre)

# Q3
asc_df= mean_df.sort_values(by=”Rent”, ascending=False)
print(asc_df)

[Q3の選択肢]
1. mean_df.sort_values(by=”Rent”, ascending=False)
2. mean_df.sort_values(by=”Rent”, ascending=True)
3. mean_df.sort_values(“Rent”, ascending=False)

csv の読み込み

下記の設問に対する答えとして相応しものを選択肢から選び、次のコードの空欄( ########## )を埋めてください.
Q1: “http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data” から csv 形式のワインに関数データを読み込み、DataFrame 形式で変数 df_wine に代入してください.
また、列名は “連番” で読み込んでください.

Q2:wine_df のカラムに変数 wine_col を追加してください.

import pandas as pd

# Q1
wine_df = ##########

wine_col = [”, ‘Alcohol’, “Malic acid”, “Ash”, “Alcalinity of ash”, “Magnesium”, “Total phenols”, “Flavanoids”, “Nonflavanoid phenol”, “Proanthocyanis”,
“Color intensity”, “Hue”, “OD280/0D315 of diluted wines”, “Proline”]

# Q2

wine_df.head()

[Q1 の選択肢]
1. pd.read_csv(“http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data”, header=None)
2. pd.csv_read(“http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data”, header=None)
3. pd.read_csv(“http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data”, header=True)
4. pd.csv_read(“http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data”, header=True)

[Q2 の選択肢]
1. wine_df.column = wine_col
2. wine_df[“columns”] = wine_col
3. wine_df.columns = wine_col
4. wine_df[wine_col]

欠損値

下記の設問に対する答えとして相応しものを選択肢から選び、次のコードの空欄( ##########)を埋めてください.

変数 df の欠損値に対処します.欠損値がある行を削除(リストワイズ)してください.
(※ 変数 df の中身は書き換えられないようにしてください.)

import numpy as np
from numpy import nan as NA
import pandas as pd

df = pd.DataFrame(np.random.rand(100, 10))

# データを欠損させます
df.iloc[3, 0] = NA
df.iloc[10:20, 2] = NA
df.iloc[45 , :8] = NA
df.iloc[85:95 , 3] = NA

##########

[選択肢]
1. df.dropna(axis=0, inplace=True)
2. df.dropna(axis=1)
3. df.dropna()
4. df[[1, 3, 8]].dropna()

インデックスを Key として結合

下記の設問に対する答えとして相応しものを選択肢から選び、次のコードの空欄(##########)を埋めてください.
Q1:以下の行列が得られるように、変数 df_room 、df_owner_age を結合してください.
####################
room_num tenant_num owner_name age
0 201 4 Yamakawa 38
2 301 3 Yamakawa 38
1 202 2 Akiyama 88
3 505 6 Mori 62
####################

import pandas as pd
df_room = pd.DataFrame([[201, 4, “Yamakawa”],
[202, 2, “Akiyama”],
[301, 3, “Yamakawa”],
[505, 6, “Mori”]],
columns=[“room_num”, “tenant_num”, “owner_name”])
df_owner_age = pd.DataFrame([[38],
[22],
[62],
[88]],
columns=[“age”])
df_owner_age.index = [“Yamakawa”, “Nakamura”, “Mori”, “Akiyama”]

# Q1
df_client = ##########
print(df_client)

[Q1の選択肢]
1. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=False, how=”inner”)
2. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=False, how=”outer”)
3. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=True, how=”inner”)
4. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=True, how=”outer”)

インデックスを Key として結合

下記の設問に対する答えとして相応しものを選択肢から選び、次のコードの空欄(##########)を埋めてください.
Q1:以下の行列が得られるように、変数 df_room 、df_owner_age を結合してください.
####################
room_num tenant_num owner_name age
0 201 4 Yamakawa 38
2 301 3 Yamakawa 38
1 202 2 Akiyama 88
3 505 6 Mori 62
####################

import pandas as pd
df_room = pd.DataFrame([[201, 4, “Yamakawa”],
[202, 2, “Akiyama”],
[301, 3, “Yamakawa”],
[505, 6, “Mori”]],
columns=[“room_num”, “tenant_num”, “owner_name”])
df_owner_age = pd.DataFrame([[38],
[22],
[62],
[88]],
columns=[“age”])
df_owner_age.index = [“Yamakawa”, “Nakamura”, “Mori”, “Akiyama”]

# Q1
df_client = ##########
print(df_client)

[Q1の選択肢]
1. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=False, how=”inner”)
2. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=True, how=”inner”)
3. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=False, how=”outer”)
4. pd.merge(df_room, df_orner_age, left_on=”owner_name”, right_index=True, how=”outer”)

一部の行の抽出

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び、下記の設問に答えてください.

Q1:変数 df の冒頭の 3 行を変数 df_Q1 に代入してください.
Q2:変数 df の末尾の 3 行を変数 df_Q2 に代入してください.

import pandas as pd
import numpy as np

cols = [“Japan”, “China”, “USA”, “Germany”, “Russia”]

df = pd.DataFrame()

for col in cols:
df[col] = np.random.choice(range(1, 11), 10)

df.index = range(1, 11)

# Q1
df_Q1 = ##########
print(df_Q1)

# Q2
df_Q2 = ##########
print(df_Q2)

[Q1,Q2の選択肢]
1. df.last(3)
2. df.head(3)
3. df.tail(3)
4. df.first(3)

一部の行の抽出

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び、下記の設問に答えてください.

Q1:変数 df の冒頭の 3 行を変数 df_Q1 に代入してください.
Q2:変数 df の末尾の 3 行を変数 df_Q2 に代入してください.
Q3:Q1 の答えと同じ挙動をするメソッドはどれか.
Q4:Q2 の答えと同じ挙動をするメソッドはどれか.

import pandas as pd
import numpy as np

cols = [“Japan”, “China”, “USA”, “Germany”, “Russia”]

df = pd.DataFrame()

for col in cols:
df[col] = np.random.choice(range(1, 11), 10)

df.index = range(1, 11)

# Q1
df_Q1 = ##########
print(df_Q1)

# Q2
df_Q2 = ##########
print(df_Q2)

[Q1,Q2の選択肢]
1. df.last(3)
2. df.tail(3)
3. df.head(3)
4. df.first(3)

[Q3,Q4の選択肢]
1. df.iloc[:3, :]
2. df.iloc[-3:, :]
3. df.iloc[:, :3]
4. df.iloc[:, -3:]

計算処理を適用 – numpy との連携

次のコードで空欄になっている行に入る適切な選択肢を選び、下記の設問に答えてください.

Q1:変数 df の各要素の 2 倍を求め変数 df_Q1 に代入してください.
Q2:変数 df の各要素の 2 乗を求め変数 df_Q2 に代入してください.
Q3:変数 df の各要素の平方根を求め変数 df_Q3 に代入してください.

import pandas as pd
import numpy as np

np.randomseed(0)
cols = [“Japan”, “China”, “USA”, “Germany”, “Russia”]
df = pd.DataFrame()

for col in cols:
df[col] = np.random.choice(range(1, 11), 10)
df.index = range(1, 11)

# Q1
df_Q1 = ##########
print(df_double)

# Q2
df_Q2 = ##########
print(df_aquare)

# Q3
df_Q3 = ##########
print(df_sqrt)

[Q1,Q2,Q3の選択肢]
1. 2*df
2. pd.sqrt(df)
3. df ^ 2
4. np.sqrt(df)
5. np.double(df)
6. df ** 2

要約統計量

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び、下記の設問に答えてください.

Q1:変数 df の各列の平均値、標準偏差、最大値を求めて変数 de_description に代入してください..

import pandas as pd
import numpy as np

np.randomseed(0)
cols = [“Japan”, “China”, “USA”, “Germany”, “Russia”]
df = pd.DataFrame()

for col in cols:
df[col] = np.random.choice(range(1, 11), 10)
df.index = range(1, 11)

# Q1
df_description = ##########
print(df_description)

[Q1の選択肢]
1. df.describe(loc[[“mean”, “std”, “max”]])
2. df.loc().describe[[“mean”, “std”, “max”]]
3. df.describe().loc[[“mean”, “std”, “max”]]

計算処理を適用 – numpy との連携

次のコードで空欄になっている行に入る適切な選択肢を選び、下記の設問に答えてください.

Q1:変数 df の各要素の絶対値を求め変数 df_Q1 に代入してください.
Q2:変数 df の各要素を 2 で割ったときの剰余を求め変数 df_Q2 に代入してください.
Q3:変数 df の各要素の 3 乗を求め変数 df_Q3 に代入してください.

import pandas as pd
import numpy as np

np.randomseed(0)
cols = [“Japan”, “China”, “USA”, “Germany”, “Russia”]
df = pd.DataFrame()

for col in cols:
df[col] = np.random.choice(range(1, 11), 10)
df.index = range(1, 11)

# Q1
df_Q1 = ##########
print(df_double)

# Q2
df_Q2 = ##########
print(df_aquare)

# Q3
df_Q3 = ##########
print(df_sqrt)

[Q1,Q2,Q3の選択肢]
1. 2 / df
2. np.power(df, 3)
3. df ^ 3
4. pd.sqrt(df)
5. np.absolute(df)
6. df % 2