• Skip to main content
  • Skip to primary sidebar

学習記録

Numpy

ブロードキャスト

2017年12月3日 by 河副 太智 Leave a Comment

1
<span role="presentation"><span class="cm-keyword">import</span> <span class="cm-variable">numpy</span> <span class="cm-keyword">as</span> <span class="cm-variable">np</span></span>

1
 

1
<span role="presentation"><span class="cm-comment"># Numpy配列xを生成</span></span>

1
<span role="presentation"><span class="cm-variable">x</span> = <span class="cm-variable">np</span>.<span class="cm-property">arange</span>(<span class="cm-number">20</span>)</span>

1
<span role="presentation"><span class="cm-variable">x</span> = <span class="cm-variable">x</span>.<span class="cm-property">reshape</span>(<span class="cm-number">4</span>, <span class="cm-number">5</span>)</span>

1
2
<span role="presentation">​
&gt;&gt;&gt;</span>

1
 

1
2
3
4
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]

1
2
3
4
<span role="presentation">
 
 
</span>

1
<span role="presentation"><span class="cm-comment"># xの全ての要素に10を足す</span></span>

1
2
3
4
5
6
7
8
9
10
11
12
<span role="presentation"><span class="cm-variable">x</span> = <span class="cm-variable">x</span> <span class="cm-operator">+</span> <span class="cm-number">10
 
&gt;&gt;&gt;
[[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]]
 
 
 
 
</span></span>

1
 

1
<span role="presentation">​</span>

1
<span role="presentation"><span class="cm-comment"># 0から4の整数値をもつ1×4のNumpy配列yを生成</span></span>

1
<span role="presentation"><span class="cm-variable">y</span> = <span class="cm-variable">np</span>.<span class="cm-property">array</span>([<span class="cm-variable">np</span>.<span class="cm-property">arange</span>(<span class="cm-number">5</span>)])</span>

1
<span role="presentation">​&gt;&gt;&gt;[[0 1 2 3 4]]</span>

1
 

1
<span role="presentation">​</span>

1
<span role="presentation"><span class="cm-comment"># xのn番目の列のすべての行からnだけ引く</span></span>

1
<span role="presentation"><span class="cm-variable">x</span> = <span class="cm-variable">x</span> <span class="cm-operator">-</span> <span class="cm-variable">y</span></span>
1
2
3
4
[[10 10 10 10 10]
[15 15 15 15 15]
[20 20 20 20 20]
[25 25 25 25 25]]

Filed Under: Numpy

slice [x:y] スライス 破壊的操作を防ぐcopy()

2017年12月3日 by 河副 太智 Leave a Comment

import numpy as np

arr = np.arange(10)
print (arr)>>>[0 1 2 3 4 5 6 7 8 9]

print (arr[3])>>>3
#リストはゼロから開始しているので指定時にマイナス1は不要

print(arr[5:8])>>>[5 6 7]

arr[5:8] = 99
print(arr)>>>[ 0 1 2 3 4 99 99 99 8 9]

slice = arr[5:8]
slice[1] = 55555 #0から数えるのでほしい数マイナス1の数を入れる
print (arr)>>>[ 0 1 2 3 4 99 55555 99 8 9]

slice[:] = 11111
print (arr)>>>[ 0 1 2 3 4 11111 11111 11111 8 9]

 

破壊的操作となるため、もとのデータをそのままにしたい場合は
arr[5:8].copy()
とする

1
例 copy()を使用

import numpy as np

arr = np.arange(10)
print (arr)

print (arr[0])#リストはゼロから開始しているので指定時にマイナス1は不要

print(arr[5:8].copy())
print(arr)

abc=arr[5:8].copy()
print(abc)

slice = arr.copy()
slice[:] = 11111
print (slice)

print(arr)

Filed Under: Numpy Tagged With: copy()

reshape

2017年11月29日 by 河副 太智 Leave a Comment

1
2
3
<span role="presentation"><span class="cm-keyword">リストを2次元配列にする
 
import</span> <span class="cm-variable">numpy</span> <span class="cm-keyword">as</span> <span class="cm-variable">np</span></span>

1
<span role="presentation"><span class="cm-variable">a</span> = <span class="cm-variable">np</span>.<span class="cm-property">arange</span>(<span class="cm-number">15</span>)</span>

1
<span role="presentation"><span class="cm-variable">b</span>=<span class="cm-variable">a</span>.<span class="cm-property">reshape</span>(<span class="cm-number">3</span>,<span class="cm-number">5</span>)</span>

1
<span role="presentation">​</span>

1
<span role="presentation"><span class="cm-builtin">print</span><span class=" CodeMirror-matchingbracket">(</span><span class="cm-variable">b</span><span class=" CodeMirror-matchingbracket">)</span></span>

1
<span role="presentation">​</span>
1
2
3
[[ 0  1  2  3  4]
[ 5  6  7  8  9]
[10 11 12 13 14]]

Filed Under: Numpy

arrange アレンジ

2017年11月29日 by 河副 太智 Leave a Comment

 

#アレンジは変数内の数字のカンマなしリストを生成

import numpy as np
a = np.arange(15)


print(a)

1
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

Filed Under: Numpy

fillna欠損値と直前のデータを補完

2017年11月29日 by 河副 太智 Leave a Comment

1
2
 
 

1
2
3
4
5
6
7
8
9
10
import numpy as np
from numpy import nan as NA
import pandas as pd
 
aa = pd.DataFrame(np.random.rand(10,4))
 
#一部のデータNanにする
sample_data_frame.iloc[1,0] = NA
sample_data_frame.iloc[2,2] = NA
sample_data_frame.iloc[5:,3] = NA

 

fillna()を用いると、引数として与えた数をNaNの部分に代入、
この例では0を代入

1
2
sample_data_frame.fillna(0)
 

methodをにffillを指定し、上の値がそのままコピーされる

1
2
<span class="cm-variable">sample_data_frame</span>.<span class="cm-property">fillna</span>(<span class="cm-variable">method</span>=<span class="cm-string">"ffill"</span>)
 

 

1
2
3
4
5
#欠損値処理
df['Fare'] = df['Fare'].fillna(df['Fare'].median())#Fareの平均値を代入
df['Age'] = df['Age'].fillna(df['Age'].median())#Ageの平均値を代入
df['Embarked'] = df['Embarked'].fillna('S')#Embarkedの値はQ,O,Sのどれかなので代表的なSを代入
df=df.dropna(subset=['Age'])#AgeのカラムにNanがある物を削除

 

Filed Under: Numpy, Pandas

dropna() データを欠損させ、その行を削除

2017年11月29日 by 河副 太智 Leave a Comment

1
2
3
4
5
6
7
8
9
10
11
12
<span class="cm-keyword">import</span> <span class="cm-variable">numpy</span> <span class="cm-keyword">as</span> <span class="cm-variable">np</span>
<span class="cm-keyword">from</span> <span class="cm-variable">numpy</span> <span class="cm-keyword">import</span> <span class="cm-variable">nan</span> <span class="cm-keyword">as</span> <span class="cm-variable">NA</span>
<span class="cm-keyword">import</span> <span class="cm-variable">pandas</span> <span class="cm-keyword">as</span> <span class="cm-variable">pd</span>
 
<span class="cm-variable">sample_data_frame</span> = <span class="cm-variable">pd</span>.<span class="cm-property">DataFrame</span>(<span class="cm-variable">np</span>.<span class="cm-property">random</span>.<span class="cm-property">rand</span>(<span class="cm-number">10</span>,<span class="cm-number">4</span>))
 
<span class="cm-comment">#一部のデータをわざと欠損</span>
<span class="cm-variable">sample_data_frame</span>.<span class="cm-property">iloc</span>[<span class="cm-number">1</span>,<span class="cm-number">0</span>] = <span class="cm-variable">NA</span>
 
 
<span class="cm-variable">sample_data_frame</span>
 

 

 

dropnaを用いると、NaNのある行を全て取り除く

1
2
<span class="cm-variable">sample_data_frame</span>.<span class="cm-property">dropna</span>()
 

 

 

 

ペアワイズ削除

1
2
3
<span class="cm-variable">sample_data_frame</span>[[<span class="cm-number">0</span>,<span class="cm-number">1</span>]].<span class="cm-property">dropna</span>()
</code><code class="cm-s-ipython language-python">
 

1
 

1
 

Filed Under: Numpy, Pandas

  • « Go to Previous Page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Interim pages omitted …
  • Page 8
  • Go to Next Page »

Primary Sidebar

カテゴリー

  • AWS
  • Bootstrap
  • Dash
  • Django
  • flask
  • GIT(sourcetree)
  • Plotly/Dash
  • VPS
  • その他tool
  • ブログ
  • プログラミング
    • Bokeh
    • css
    • HoloViews
    • Jupyter
    • Numpy
    • Pandas
    • PosgreSQL
    • Python 基本
    • python3
      • webアプリ
    • python3解説
    • scikit-learn
    • scipy
    • vps
    • Wordpress
    • グラフ
    • コマンド
    • スクレイピング
    • チートシート
    • データクレンジング
    • ブロックチェーン
    • 作成実績
    • 時系列分析
    • 機械学習
      • 分析手法
      • 教師有り
    • 異常値検知
    • 自然言語処理
  • 一太郎
  • 数学
    • sympy
      • 対数関数(log)
      • 累乗根(n乗根)
    • 暗号学

Copyright © 2025 · Genesis Sample on Genesis Framework · WordPress · Log in