科学の箱

科学・IT・登山の話題

Python

automated the boring – day 3

投稿日:2018年2月23日 更新日:

https://automatetheboringstuff.com/

今回はまずは文字列操作から。とりあえず基本のところを押さえておく。


print("Hello there!\nHow are you?\nI\'m doing fine.")

spam = 'Hello world!'
print(spam[0:5])
print(spam.upper())
print(spam.lower())

print('hello'.isalpha())

 

次に入力で用いるvalidationの処理


while True:
print('Enter your age:')
age = input()
if age.isdigit():
break
print('Your age : ' + age)

Listと組み合わせて強力な操作関数がjoin。これを使えば文字リストから簡単にCSV形式のファイルを作れる。

print(', '.join(['cats', 'rats', 'bats']))

CSVファイルを読み込んでから逆にリストを作成するにはsplitを用いる。この辺りはデータ分析で間違いなく利用する。

animal = 'dog,cat,elephant'.split(',')
print(animal)

文字列操作で正規化表現を欠かすことができない。入力チェックでは細かいチェックを正規化表現なしにするとソースコードを相当書き込むことになる。しかしこれは同時にソースコードの柔軟性がなくなることをいみする。ここで正規化を利用すれば例えば10行位で記述する内容が2、3行になる。

>>> import re
>>> phonnumregex = re.compile(r'\d\d-\d\d\d\d-\d\d\d\d')
>>> mo = phonnumregex.search('my phone number is 03-1234-5678')
>>> print('phone number found : ' + mo.group())
phone number found : 03-1234-5678

 

あらかじめグループをトークンに分けたいときには正規化表現で括弧を使って分けておくとmo.groupで個別のトークンを取り出すことができる。


>>> phonnumregex = re.compile(r'(\d\d)-(\d\d\d\d)-(\d\d\d\d)')
>>> mo = phonnumregex.search('my phone number is 03-1234-5678')
>>> mo.group(0)
'03-1234-5678'
>>> mo.group(1)
'03'
>>> mo.group(2)
'1234'
>>> mo.group(3)
'5678'
>>> mo.group()
'03-1234-5678'

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

errorbarで誤差棒付きグラフの作成

概要 学習モデルのグラフは誤差を含んでいる。今2軸(xおよびy)をとり、以下のようなモデルに近似したとする。実際のデータは誤差がある。この誤差を表示できるのがerrorbarである。 ドキュメント h …

no image

numpy.arange()を使って等差数列を生成する

等差数列を作るためにはnumpy.linspace()を使うと話をした。しかしlinspace()は要素数を指定するためにかえって混乱を招くことがある。そこで便利なのが公差を指定して配列を作ってくくれ …

no image

pandaでdataframeを利用するときの基本操作

Dataframeを作成します。 import numpy as np import pandas as pd from numpy.random import randn np.random.see …

no image

PythonでMicrosoft Visual C++ 14.0 is required エラーが出た場合

Visual Studio 2017だけでは不十分である。   https://visualstudio.microsoft.com/ja/downloads/から下記のリンク経由でBuil …

no image

タイタニックデータでEDA-2

前回は、タイタニックデータについてはビジュアライズしてデータについて理解を深めた。 今回はデータをいじって機械学習に使えるようにする。 機械学習をするために必要な処理は3つある。 null値の置換 余 …

2018年2月
« 1月   3月 »
 1234
567891011
12131415161718
19202122232425
262728  

side bar top



アーカイブ

カテゴリー