Python

Pythonでpandasを使ったデータフレーム操作の演習問題

By 2021年9月2日No Comments

Pythonのpandasを使ってデータフレーム操作に関する演習問題になります。

以下のデータフレームを使ってそれぞれ出力結果になるようにそれぞれおこなってください。

Know This First

プログラミング初心者対象!Python入門セミナー

プログラミング初心者がPythonの初歩部分を突破するためのセミナーです。

0 1 2
0 30 ヤマダ 東京
1 30 タナカ 大阪
2 35 ウエダ 大阪
3 28 キムラ 福岡

まずは、pandasをインポートして上記のデータフレームを作成してください。

import pandas as pd

df = pd.DataFrame([[30, 'ヤマダ', '東京'], [30, 'タナカ', '大阪'], [35, 'ウエダ', '大阪'], [28, 'キムラ', '福岡']])
print(df)

[問題1]

インデックス番号の代わりに文字列を指定して出力結果になるようにしてください。

出力結果:

0 1 2
ユーザー1 30 ヤマダ 東京
ユーザー2 30 タナカ 大阪
ユーザー3 35 ウエダ 大阪
ユーザー4 28 キムラ 福岡

[問題2]

カラム番号に文字列を指定して出力結果になるようにしてください。

出力結果:

年齢 名前 出身地
0 30 ヤマダ 東京
1 30 タナカ 大阪
2 35 ウエダ 大阪
3 28 キムラ 福岡

[問題3]

loc[ ]を使い指定した要素の行データを抽出して出力結果になるようにしてください。

出力結果:

年齢 30
名前 タナカ
出身地 大阪
Name: 1, dtype: object

[問題4]

loc[ ]を使い列番号を指定して出力結果になるようにしてください。

出力結果:

0 東京
1 大阪
2 大阪
3 福岡
Name: 2, dtype: object

[問題5]

iloc[ ]を使い行と列の番号を指定してデータを抽出して出力結果になるようにしてください。

出力結果:

ウエダ

[問題6]

iloc[ ]を使いスライスでデータを抽出する範囲を指定して出力結果になるようにしてください。

出力結果:

0 30
1 30
2 35
Name: 0, dtype: int64

[問題7]

条件に一致する行のみデータ抽出をして出力結果になるようにしてください。

出力結果:

0 1 2
1 30 タナカ 大阪

[問題8]

contains( )関数を使い特定の文字列を含んでいるデータを抽出して出力結果になるようにしてください。

出力結果:

0 1 2
0 30 ヤマダ 東京
2 35 ウエダ 大阪

[問題9]

条件を指定してデータを抽出して出力結果になるようにしてください。

出力結果:

0 1 2
2 35 ウエダ 大阪

[問題10]

drop( )関数で指定したインデックスの行を削除して出力結果になるようにしてください。

出力結果:

0 1 2
0 30 ヤマダ 東京
1 30 タナカ 大阪
2 35 ウエダ 大阪

[問題11]

drop( )関数で複数指定したインデックスの行を削除して出力結果になるようにしてください。

出力結果:

0 1 2
0 30 ヤマダ 東京
2 35 ウエダ 大阪

[問題12]

drop( )関数を使い列の削除をして出力結果になるようにしてください。

出力結果:

1 2
0 ヤマダ 東京
1 タナカ 大阪
2 ウエダ 大阪
3 キムラ 福岡

[問題13]

del文を使って列を削除して出力結果になるようにしてください。

出力結果:

1 2
0 ヤマダ 東京
1 タナカ 大阪
2 ウエダ 大阪
3 キムラ 福岡

[問題14]

データフレームに新たな列を追加して出力結果になるようにしてください。

出力結果:

0 1 2 3
0 30 ヤマダ 東京 160
1 30 タナカ 大阪 170
2 35 ウエダ 大阪 180
3 28 キムラ 福岡 190

[問題15]

データフレームに新たな列を追加してカラム名をつけて出力結果になるようにしてください。

出力結果:

0 1 2 身長
0 30 ヤマダ 東京 160
1 30 タナカ 大阪 170
2 35 ウエダ 大阪 180
3 28 キムラ 福岡 190

[問題16]

assign( )関数を使って列を追加して出力結果になるようにしてください。

出力結果:

0 1 2 体重
0 30 ヤマダ 東京 65
1 30 タナカ 大阪 55
2 35 ウエダ 大阪 70
3 28 キムラ 福岡 80

[問題17]

データフレームに行を追加して出力結果になるようにしてください。

出力結果:

0 1 2
0 30 ヤマダ 東京
1 30 タナカ 大阪
2 35 ウエダ 大阪
3 28 キムラ 福岡
4 50 サトウ 京都

[問題18]

iteritems( )関数を使いforループで一列ずつ列の要素を取得して出力結果になるようにしてください。

出力結果:

0 0 30
1 30
2 35
3 28
Name: 0, dtype: int64
1 0 ヤマダ
1 タナカ
2 ウエダ
3 キムラ
Name: 1, dtype: object
2 0 東京
1 大阪
2 大阪
3 福岡
Name: 2, dtype: object

[問題19]

iteritems( )関数を使いforループで指定した行を取得して出力結果になるようにしてください。

出力結果:

0  30
1 タナカ
2 大阪

[問題20]

iteritems( )関数を使いforループでスライスで指定した範囲のそれぞれの列を取得して出力結果になるようにしてください。

出力結果:

0 1 30
2 35
3 28
Name: 0, dtype: int64
1 1 タナカ
2 ウエダ
3 キムラ
Name: 1, dtype: object
2 1 大阪
2 大阪
3 福岡
Name: 2, dtype: object

[問題21]

iterrows( )関数を使いforループで一行ごとに取り出し出力結果になるようにしてください。

出力結果:

0 0 30
1 ヤマダ
2 東京
Name: 0, dtype: object
1 0 30
1 タナカ
2 大阪
Name: 1, dtype: object
2 0 35
1 ウエダ
2 大阪
Name: 2, dtype: object
3 0 28
1 キムラ
2 福岡
Name: 3, dtype: object


[問題22]

iterrows( )関数を使いforループで指定した列だけを取り出し出力結果になるようにしてください。

出力結果:

0 ヤマダ
1 タナカ
2 ウエダ
3 キムラ

[問題23]

iterrows( )関数を使いforループでスライス指定した範囲のそれぞれの行だけを取得して出力結果になるようにしてください。

出力結果:

0 1 ヤマダ
2 東京
Name: 0, dtype: object
1 1 タナカ
2 大阪
Name: 1, dtype: object
2 1 ウエダ
2 大阪
Name: 2, dtype: object
3 1 キムラ
2 福岡
Name: 3, dtype: object

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL