Pythonデータ処理学習プロセス
文書ディレクトリ第一歩:基礎IO操作 テキストオブジェクト読み書き 画像読み書き csvファイルの読み書き 第2ステップ:より効率的なデータ処理方法を把握する numpyこの利器を持つ価値がある 基本データフォーマットと操作 numpy配列 numpy配列はどこが便利ですか? np配列の作成: pandasはあなたにデータを抽出させてから難しくない 基礎処理 pandasコアデータ構造 基本操作 演算 画図 IO操作 上級処理 ステップ3:データ間を遊走し、統計的な方法でデータ間の法則を探索する リニア回帰 オーバーフィット・アンダーフィット 嶺回帰 論理回帰 K-meansクラスタリング 第四歩:深い勉強の旅 ステップ1:基礎IO操作
テキストオブジェクトの読み書き
書類の読み書きの基礎方法を把握する必要があります.
基本ファイルの開き方:
modeはオプションで、異なる効果があります.
また、この方法でファイルオブジェクトを作成することもできます.
ファイルオブジェクトを開くと、読み取り/書き込みが可能になります.
反復ファイルの内容:
あるいは、このように反復することで、より便利になります.
pythonオブジェクトのシーケンス化:ベースのデータ構造であれば、その内容もテキストで見ることができます.
例:
jsonには
複雑なオブジェクト、例えばfunctionオブジェクトは、ローカルに格納しても何も見えず、
画像の読み書き
画像データの処理には
csvファイルの読み書き
python内蔵csvモジュールを使用する必要があります
csvモジュールは単純な読み取り、遍歴にのみ適する.csvファイルは、複雑なフィルタリング、修正作業には向いていません.後者のような仕事はpandasという神器に任せる.だからここはしばらく持っていました.
第二歩:より効率的なデータ処理方法を把握する
numpyこの利器は君が持つ価値がある
概要Numpyフレームワーク:
基本データのフォーマットと操作基本整形:np.int8、np.int16、np.int32、np.int 64等 基本浮動小数点型:np.float16、np.float32、np.float 64等 加減乗除:np.add()、np.subtract()、np.multiply()、np.divide().またはそのまま
numpy配列
numpyのコアは作成したnumpy配列を変更できない 1つのnumpy配列すべてのデータ型が同じ numpy配列は多数のマトリクス演算方法を含む numpy配列はどこが便利ですか?
たとえば、2つの配列の位置合わせを計算します.python配列実装: numpy配列実装:
np配列は計算を数学記号に近づけます!npの計算は、要素の1つではなく、npの配列に向いています.
np配列のプロパティ: ndarrary.dtype:要素タイプ nparray.shape:配列の構造 nparray.size:元素個数 nparray.real:元素実部 nparray.imag:元素虚部 nparray.astype():要素タイプの変更 nparray.reshape():要素の構造を再修正しますが、修正後の要素の個数は変更できません np配列を作成するには:単純配列作成 ランダムマトリクスの作成 np.random.rand(axis1, axis2, axis3, …, axisn) uniform distribution over [0, 1) np.random.ranint(low, high=None, size=None, dtype=l) uniform distribution over [low, high) of size np.random.randn(axis1, axis2, axis3, …, axisn) standard normal distribution. u=0, sigma=1 np.random.random(size=None) uniform distribution over [0, 1) np.random.random_integers(low, high=None, size=None) discrete uniform distribution over [low, hgih] of type np.int 指定範囲に配列を作成 既存配列から新規配列を作成 複雑な配列を構成する配列全体の繰り返し pandasはあなたにデータを抽出させてから難しくありません.
pandasとは何ですか.panel+data+analysis panel:パネルデータ-計量経済学matplotlibに基づいて、簡単な図面をnumpyに基づいて、計算の上で比較的に大きい優位性があって多種のタイプのファイルの読み書きをサポートします
きほんしょり
pandasコアデータ構造
3つのデータ構造があります.DataFrame DataFrameは、行インデックスと列インデックスがある2 Dテーブルに相当します.常用属性: Panel Series
きほんそうさ
えんざん
絵をかく
IO操作
高度な処理
第三歩:データの間を泳いで、統計の方法でデータの間の法則を探求します
せんけいかいき
オーバーフィット
嶺回帰
ろんりかいふく
K-meansクラスタリング
第四歩:深い学習の旅
テキストオブジェクトの読み書き
書類の読み書きの基礎方法を把握する必要があります.
基本ファイルの開き方:
fp = open('file_name', 'mode') #
...
...
fp.close()
modeはオプションで、異なる効果があります.
'r' open for reading (default)
'w' open for writing, truncating the file first
'x' create a new file and open it for writing
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
また、この方法でファイルオブジェクトを作成することもできます.
>>> with open('workfile', 'r') as f:
... read_data = f.read()
>>> f.closed
True
ファイルオブジェクトを開くと、読み取り/書き込みが可能になります.
f.read() #
f.read(4) #
f.write(astr)
反復ファイルの内容:
>>> for line in f.readlines():
... print(line, end='')
...
あるいは、このように反復することで、より便利になります.
>>> for line in f:
... print(line, end='')
...
pythonオブジェクトのシーケンス化:ベースのデータ構造であれば、その内容もテキストで見ることができます.
json
シーケンス化します.複雑なpythonオブジェクトであれば、pickle
でシーケンス化します.例:
#
with open('a_list.txt', 'w') as f:
a_list = [1,2,3,4]
json.dump(a_list, f)
# a_list
# , a_list
#json.dump(ensure_ascii=True) ensure_ascii=True, ‘ ’。 True 。
#
with open('a_list.txt') as f:
the_list = json.load(f)
jsonには
.loads()
・dumps()
という方法もあり、文字列からpythonオブジェクトまで情報を往復変換することができます.複雑なオブジェクト、例えばfunctionオブジェクトは、ローカルに格納しても何も見えず、
json
では格納できません.json
の存在は、さまざまなプログラミング言語でデータを交換しやすいためです.テキストでデータ交換ができなければjson
存在の原則に違反します.だから私たちはpickle
このライブラリが必要です.pickle
の使用方法はjson
と同様であり、これ以上説明しない.画像の読み書き
画像データの処理には
PIL.Image
このライブラリが必要です.このライブラリで画像を読み取り、修正し、作成することもできます.このライブラリをインストールpip install Image
# , :
from PIL import Image
#
img = Image.open('test.png')
# 、
h, w = img.size
# :
img.show()
# :
img.filename
# :
img.getpixel((heighth, weighth))
# RGB , :(62, 131, 200)
# ,
# , 0 1
# RGB
img_gray = img.convert('L') #
tab = [0 if i < 160 else 1 for i in range(256)]
black_white_img = img_gray.point(tab) #
# :
img.save('file_name.png')
csvファイルの読み書き
python内蔵csvモジュールを使用する必要があります
csv.reader(iterable, delimiter=',')
csv.writer(fileobj, delimiter=',')
# 、 , csv 。
csvモジュールは単純な読み取り、遍歴にのみ適する.csvファイルは、複雑なフィルタリング、修正作業には向いていません.後者のような仕事はpandasという神器に任せる.だからここはしばらく持っていました.
第二歩:より効率的なデータ処理方法を把握する
numpyこの利器は君が持つ価値がある
概要Numpyフレームワーク:
基本データのフォーマットと操作
+ - * /
これらの記号を使ってもよい.numpy配列
numpyのコアは
ndarray
オブジェクトであり、python基本データ型をカプセル化したn次元配列である.numpy配列には、次のような特徴があります.たとえば、2つの配列の位置合わせを計算します.
a = [1, 2, 3]
b = [4, 5, 6]
ans = [i*j for i, j in zip(a, b)]
a = np.array([1,2,3])
b = np.array([4,5,6])
ans = a*b
np配列は計算を数学記号に近づけます!npの計算は、要素の1つではなく、npの配列に向いています.
np配列のプロパティ:
np.array([1,2,3,4]).reshape((2,2)).astype(np.float)
np.zeros(shape, dtype=float) #
np.ones(shape, dtype=float) #
np.eye(N, dtype=float) #
np.empty(shape, dtype=float) #
np.arange(low, high, step=) # , low, high
np.linsapce(low, high, num=) # , low, high
np.asarray(array, dtype=None) # array , array
np.empty_like(a) # a
np.zeros_like(a) # a
np.ones_like(a) # a
np.tile(a, n)
# a=array([1, 2, 3]), 3 , array([1, 2, 3, 1, 2, 3, 1, 2, 3])
配列内の各要素の繰り返しnp.repeat(a, 3)
a.repeat(3)
# a=array([1, 2, 3]), 3 , array([1, 1, 1, 2, 2, 2, 3, 3, 3])
配列のマージappendnp.append([1,2,3],[[4,5,6],[7,8,9]])
>>>array([1, 2, 3, 4, 5, 6, 7, 8, 9])
np.append([[1,2,3]], [[4,5,6]], axis=0)
>>>array([[1, 2, 3],
[4, 5, 6]])
np.append([[1,2,3]], [[4,5,6]], axis=1)
>>>array([[1, 2, 3, 4, 5, 6]])
concatenateはappendとほぼ似ているが、2つのマージ対象を1つのメタグループにマージしただけnp.concatenate(([[1,2,3]], [[4,5,6]]), axis=0)
>>>array([[1, 2, 3],
[4, 5, 6]])
数グループ分割pandasとは何ですか.panel+data+analysis panel:パネルデータ-計量経済学matplotlibに基づいて、簡単な図面をnumpyに基づいて、計算の上で比較的に大きい優位性があって多種のタイプのファイルの読み書きをサポートします
きほんしょり
pandasコアデータ構造
3つのデータ構造があります.
きほんそうさ
えんざん
絵をかく
IO操作
高度な処理
第三歩:データの間を泳いで、統計の方法でデータの間の法則を探求します
せんけいかいき
オーバーフィット
嶺回帰
ろんりかいふく
K-meansクラスタリング
第四歩:深い学習の旅