初心者
入門
Python3
基礎
練習問題

「自作Python100本ノック」10日目(63本〜70本目)

More than 1 year has passed since last update.

「自作Python100本ノック」10日目です。

今日は大学の情報科学のテストが40分近く早く終わった(解けたとは言ってない)ので、昼に記事作成をしています。

前回の最後に言った通り、今回は日付とデータフレームの扱いをざっくりやって行きます。

それで、いよいよ次回から文章題に入るという流れです。

ところで、iOSアプリ開発ができる方を現在割と本気で探しているので、どなたかいましたら連絡をくださると嬉しいです。よろしくお願いします。

さて、

「自作Python100本ノック」とはそもそも何ぞや?

どの程度のレベル感なのか?

どのように進めて行くのか?

など気になる方は詳しくはこちらに整理してありますのでまずはそちらを確認するようお願いします。

それでは始めていきます。


Q63: 現在の日付をtoday.txtというテキストファイルに文字列の形で書き込みなさい

    


q63.py

from datetime import date

now = date.today()
now_str = now.isoformat() #文字列の形にする
with open("today.txt", "wt") as outfile:
outfile.write(now_str)

now_str



Q64:today.textから日付を解析し取り出しなさい

   


q64.py

import time

fmt = '%Y-%m-%d'
time.strptime(today_string, fmt)


Q65:ディレクトリの扱いの練習

問題: カレントディレクトリと親ディレクトリのファイルのリストをそれぞれ表示せよ。

    


q65.py

# カレントディレクトリのファイルのリストを作ろう

import os
os.listdir('.')

# 親ディレクトリのファイルのリストを作ろう
os.listdir('..')



Q66:自分の誕生日が何曜日だったか確認

weekday()で簡単に特定できるとは驚きました。

自分は何曜日に生まれたのかという長年の謎がこれで解決されました。

   


q66.py

from datetime import date

my_time = date(1998, 5, 11)

my_time.weekday() #月曜が0、日曜が6



Q67:自分が生まれてから10,000日になるのはいつか確認

忘れないようにします!

    


q67.py

from datetime import timedelta

my_future = my_time + timedelta(days=10000)
my_future


Q68:以下のデータフレームを作成せよ。

スクリーンショット 2018-05-16 13.37.52.png

    

q68.py

df = pd.DataFrame(

{'名前': ['朝倉', '鈴木', '山中', '田中', '山本'],

'年齢': [17, 43, 40, 12, 62],

'性別':['男', '男', '女', '男', '女']})

df


Q69:年齢が35歳よりも下の人だけを表から取り出しなさい


q69.py

df_1 = df[df['年齢'] < 35]

df_1


Q70: 内容の追加

問題:なんか適当に新しい行と新しい列を追加してみましょう

例:新たに「池田」を追加すし、新たに「居住地」と言う   列を追加する

   

   


q70.py

# 行の追加

row = pd.DataFrame({'名前': ['池田'],
'年齢': [1989],
'性別': '男'})
# 行の追加(行: axis=0, 列: axis=1)
df_2 = pd.concat([df,row], axis=0)
df_2

# indexを変更
# np.agrangeで0〜6の数字が並んだ配列を生成
df_2.index = np.arange(len(df_2))
df_2

# 列の追加
# 新たな列を代入
df_2['居住地'] = ['東京', '大阪', '北海道', '宮城', '富山', '大分']
df_2



Q71:内容の削除

問題:「性別」の列を削除せよ

   


q71.py

# 列を削除(行: axis=0, 列: axis=1)

df_3 = df_2.drop('性別', axis=1)
df_3


Q72: 列名を変更

問題:「名前」を「name」、「年齢」を「age」、「居住地」を「residence」に変更せよ

   


q72.py

df_4.columns = ['name', 'age', 'residence']

df_4


感想

もう開始してから10日も経ったのかと焦っています。

そして、基本問題のネタがなくなったので、いよいよ次回から文章問題を解かないといけないのかあ、っていうかどこから問題あつめてこようか、、とビビっております。。

まあ、とりあえず今回はここまでです。

それでは!

-> 11日目