• Skip to main content
  • Skip to primary sidebar

学習記録

プログラミング

DataFrame sort()

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

1
 

1
2
3
<span role="presentation"><span class="cm-comment"><code>変数.sort_values(by="カラムリスト", ascending=True)</code>とするとの列の値について
</span></span>小さい順にソートされたDataFrameを生成リストの順番が早い列が優先的にソート
ascending=False</code>とすると、大きい順にソート

1
2
3
<span role="presentation"><span class="cm-comment">
 
# dfを"apple", "orange", "banana", "strawberry", "kiwifruit"の優先度の順に昇順にソート</span></span>

1
<span role="presentation"><span class="cm-variable">df</span> = <span class="cm-variable">df</span>.<span class="cm-property">sort_values</span><span class=" CodeMirror-matchingbracket">(</span><span class="cm-variable">columns</span><span class=" CodeMirror-matchingbracket">)</span></span>

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

1
<span role="presentation"><span class="cm-builtin">print</span>(<span class="cm-variable">df</span>)</span>
1
2
3
4
5
6
7
8
9
10
11
    apple  orange  banana  strawberry  kiwifruit
2       1       7      10           4         10
9       3       9       6           1          3
7       4       8       1           4          3
3       4       9       9           9          1
4       4       9      10           2          5
10      5       2       1           2          1
8       6       8       4           8          8
1       6       8       6           3         10
5       8       2       5           4          8
6      10       7       4           4          4

Filed Under: Numpy, Pandas

DataFrame ilocで番号を指定して行と列を取得

2017年11月25日 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
<span role="presentation"><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>

1
<span role="presentation"><span class="cm-variable">np</span>.<span class="cm-property">random</span>.<span class="cm-property">seed</span>(<span class="cm-number">0</span>)</span>

1
<span role="presentation"><span class="cm-variable">columns</span> = [<span class="cm-string">"a"</span>, <span class="cm-string">"b"</span>, <span class="cm-string">"c"</span>, <span class="cm-string">"d"</span>, <span class="cm-string">"e"</span>]</span>

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

1
<span role="presentation"><span class="cm-comment"># DataFrameを生成し、列を追加</span></span>

1
<span role="presentation"><span class="cm-variable">df</span> = <span class="cm-variable">pd</span>.<span class="cm-property">DataFrame</span>()</span>

1
<span role="presentation"><span class="cm-keyword">for</span> <span class="cm-variable">column</span> <span class="cm-keyword">in</span> <span class="cm-variable">columns</span>:</span>

1
<span role="presentation">    <span class="cm-variable">df</span>[<span class="cm-variable">column</span>] = <span class="cm-variable">np</span>.<span class="cm-property">random</span>.<span class="cm-property">choice</span>(<span class="cm-builtin">range</span>(<span class="cm-number">1</span>, <span class="cm-number">11</span>), <span class="cm-number">10</span>)</span>

1
<span role="presentation"><span class="cm-variable">df</span>.<span class="cm-property">index</span> = <span class="cm-builtin">range</span>(<span class="cm-number">1</span>, <span class="cm-number">11</span>)</span>

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

1
<span role="presentation"><span class="cm-comment"># iloc[]を使ってdfの2行目から5行目までの4行と、"c", "5"の2列を含むDataFrameをdfに代入</span></span>

1
<span role="presentation"><span class="cm-variable">df</span> = <span class="cm-variable">df</span>.<span class="cm-property">iloc</span>[[<span class="cm-number">1</span>,<span class="cm-number">2</span>,<span class="cm-number">3</span>,<span class="cm-number">4</span>],[<span class="cm-number">2</span>,<span class="cm-number">4</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">df</span><span class=" CodeMirror-matchingbracket">)</span></span>
 
 
 
1
2
3
4
5
    c   e
2  10  10
3   9   1
4  10   5
5   5   8

Filed Under: Numpy, Pandas

DataFrame loc()で指定の行と列を取得

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

1
 
以下の場合
1
2
3
4
5
6
7
8
9
10
11
     a  b   c  d   e
1    6  8   6  3  10
2    1  7  10  4  10
3    4  9   9  9   1
4    4  9  10  2   5
5    8  2   5  4   8
6   10  7   4  4   4
7    4  8   1  4   3
8    6  8   4  8   8
9    3  9   6  1   3
10   5  2   1  2   1

1
2
3
4
5
6
<span role="presentation"><span class="cm-keyword">
 
 
 
#loc()で指定の行、列を取得
import</code></span><code> <span class="cm-variable">numpy</span> <span class="cm-keyword">as</span> <span class="cm-variable">np</span></code></span>

1
<span role="presentation"><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>

1
<span role="presentation"><span class="cm-variable">np</span>.<span class="cm-property">random</span>.<span class="cm-property">seed</span>(<span class="cm-number">0</span>)</span>

1
<span role="presentation"><span class="cm-variable">columns</span> = <span class=" CodeMirror-matchingbracket">[</span><span class="cm-string">"a"</span>, <span class="cm-string">"b"</span>, <span class="cm-string">"c"</span>, <span class="cm-string">"d"</span>, <span class="cm-string">"e"</span><span class=" CodeMirror-matchingbracket">]</span></span>

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

1
<span role="presentation"><span class="cm-comment"># DataFrameを生成し、列を追加</span></span>

1
<span role="presentation"><span class="cm-variable">df</span> = <span class="cm-variable">pd</span>.<span class="cm-property">DataFrame</span>()</span>

1
2
3
<span role="presentation"><span class="cm-keyword">for</span> <span class="cm-variable">column</span> <span class="cm-keyword">in</span> <span class="cm-variable">columns</span>:
</span><span role="presentation"><span class="cm-variable">    df</span>[<span class="cm-variable">column</span>] = <span class="cm-variable">np</span>.<span class="cm-property">random</span>.<span class="cm-property">choice</span>(<span class="cm-builtin">range</span>(<span class="cm-number">1</span>, <span class="cm-number">11</span>), <span class="cm-number">10</span>)
</span><span role="presentation"><span class="cm-variable">df</span>.<span class="cm-property">index</span> = <span class="cm-builtin">range</span>(<span class="cm-number">1</span>, <span class="cm-number">11</span>)</span>

1
 

1
<span role="presentation"><span class="cm-variable">df</span> = <span class="cm-variable">df</span>.<span class="cm-property">loc</span>[<span class="cm-builtin">range</span>(<span class="cm-number">2</span>, <span class="cm-number">6</span>), [<span class="cm-string">"b"</span>, <span class="cm-string">"e"</span>]]</span>

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

 
1
2
3
4
5
   b   e
2  7  10
3  9   1
4  9   5
5  2   8

Filed Under: Numpy, Pandas

DataFrame 列の追加とindexの追加 縦に増やす

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<span role="presentation"><span class="cm-keyword">DataFrame 列の追加とindexの追加 縦に増やす
 
import pandas as pd
​
index = ["a", "b", "c", "d", "e"]
data1 = [10, 5, 8, 12, 3]
data2 = [30, 25, 12, 10, 8]
series1 = pd.Series(data1, index=index)
series2 = pd.Series(data2, index=index)
​
new_column = pd.Series([15, 7], index=[0, 1])
#縦(カラム)に15と7を代入、indexで15を縦の0の位置に入れ、1を縦の1の位置に代入
​
# series1, seires2からDataFrameを生成
df = pd.DataFrame([series1, series2])
​
# dfの新しい列"f"にnew_columnのデータを追加
df["f"] = new_column
​
# 出力
print(df)</span></span>
1
2
3
    a   b   c   d  e   f
0  10   5   8  12  3  15
1  30  25  12  10  8   7

Filed Under: Pandas

DataFrame 行の追加とindexの追加 横に増やす

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

1
2
3
4
5
6
7
8
9
data = {"fruits": ["a", "b", "c", "d", "e"],
        "year": [2001, 2002, 2001, 2008, 2006],
        "time": [1, 4, 5, 6, 3]}
df = pd.DataFrame(data)
series = pd.Series(["f", 2008, 7], index=["fruits", "year", "time"])
#上記のindex=[...]が無いと余計な行が追加される、追加した要素が
どのindexに属するのかを指定する必要がある
 
df = df.append(series, ignore_index=True)

1
2
 
 

出力結果

1
2
3
4
5
6
7
       fruits  time  year
0       a     1  2001
1       b     4  2002
2       c     5  2001
3       d     6  2008
4       e     3  2006
5       f     7  2008

Filed Under: Pandas

DataFrame 行が(縦)index 列が(横)カラム

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

 

DataFrameの行の名前をインデックス(横) 指定した要素の名前、数だけ右に向かって出力
DataFrameの列の名前をカラム(縦)0~nまで要素の数だけ縦に自動で付記

 

 

DataFrameは、Seriesを複数束る2次元のデータ構造。
pandas.DataFrame()にSeriesを渡し、DataFrameを生成行には0から昇順に番号がつきます。

1
2
<span class="cm-variable">pandas</span>.<span class="cm-property">DataFrame</span>([<span class="cm-variable">Series</span>, <span class="cm-variable">Series</span>, ...])
 

バリューにリストの辞書型を用いても作成可能
リスト型の長さは等しくする

コード

1
2
3
4
5
6
<span class="cm-variable">data</span> = {<span class="cm-string">"fruits"</span>: [<span class="cm-string">"apple"</span>, <span class="cm-string">"orange"</span>, <span class="cm-string">"banana"</span>, <span class="cm-string">"strawberry"</span>, <span class="cm-string">"kiwifruit"</span>],
        <span class="cm-string">"year"</span>: [<span class="cm-number">2001</span>, <span class="cm-number">2002</span>, <span class="cm-number">2001</span>, <span class="cm-number">2008</span>, <span class="cm-number">2006</span>],
        <span class="cm-string">"time"</span>: [<span class="cm-number">1</span>, <span class="cm-number">4</span>, <span class="cm-number">5</span>, <span class="cm-number">6</span>, <span class="cm-number">3</span>]}
<span class="cm-variable">df</span> = <span class="cm-variable">pd</span>.<span class="cm-property">DataFrame</span>(<span class="cm-variable">data</span>)
<span class="cm-builtin">print</span>(<span class="cm-variable">df</span>)
 

出力結果

1
2
3
4
5
6
7
8
9
10
11
fruits  time  year
0       apple     1  2001
1      orange     4  2002
2      banana     5  2001
3  strawberry     6  2008
4   kiwifruit     3  2006
 
 
 
 
例

1
<span role="presentation"><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>

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

1
<span role="presentation"><span class="cm-variable">index</span> = [<span class="cm-string">"a"</span>, <span class="cm-string">"b"</span>, <span class="cm-string">"c"</span>, <span class="cm-string">"d"</span>, <span class="cm-string">"e"</span>]</span>

1
<span role="presentation"><span class="cm-variable">data1</span> = [<span class="cm-number">10</span>, <span class="cm-number">5</span>, <span class="cm-number">8</span>, <span class="cm-number">12</span>, <span class="cm-number">3</span>]</span>

1
<span role="presentation"><span class="cm-variable">data2</span> = [<span class="cm-number">30</span>, <span class="cm-number">25</span>, <span class="cm-number">12</span>, <span class="cm-number">10</span>, <span class="cm-number">8</span>]</span>

1
<span role="presentation"><span class="cm-variable">series1</span> = <span class="cm-variable">pd</span>.<span class="cm-property">Series</span>(<span class="cm-variable">data1</span>, <span class="cm-variable">index</span>=<span class="cm-variable">index</span>)</span>

1
<span role="presentation"><span class="cm-variable">series2</span> = <span class="cm-variable">pd</span>.<span class="cm-property">Series</span>(<span class="cm-variable">data2</span>, <span class="cm-variable">index</span>=<span class="cm-variable">index</span>)</span>

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

1
<span role="presentation"><span class="cm-comment"># series1, seires2からDataFrameを生成してdfに代入</span></span>

1
 

1
<span role="presentation"><span class="cm-variable">df</span> = <span class="cm-variable">pd</span>.<span class="cm-property">DataFrame</span>([<span class="cm-variable">series1</span>,<span class="cm-variable">series2</span>])</span>

1
<span role="presentation"><span class="cm-comment"># 出力</span></span>

1
<span role="presentation"><span class="cm-builtin">print</span>(<span class="cm-variable">df</span>)</span>
 
1
2
3
      a        b       c          d           e
0     10       5       8          12          3
1     30      25      12          10          8

1
 

Filed Under: Pandas

  • « Go to Previous Page
  • Page 1
  • Interim pages omitted …
  • Page 38
  • Page 39
  • Page 40
  • Page 41
  • Page 42
  • Interim pages omitted …
  • Page 55
  • 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