python:numpy_scipy_matplotlib

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
python:numpy_scipy_matplotlib [2019/07/31 16:08] – [NumPy] ともやんpython:numpy_scipy_matplotlib [2020/04/16 03:38] (現在) ともやん
行 1: 行 1:
-<ifauth !@loggedinusers><html> +<html> 
-<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script+  <style
-<script> +    #result pre 
-     (adsbygoogle = window.adsbygoogle || []).push(+      height200px; 
-          google_ad_client"ca-pub-0791334967460971", +      overflow: scroll; 
-          enable_page_level_adstrue +      overflow-x: hidden; 
-     })+    } 
-</script></html></ifauth>+    #logo_numpy { 
 +      background-color: #a2bae8; 
 +      widthfit-content; 
 +      padding: 10px; 
 +    } 
 +    #logo_numpy p { 
 +      margin: 0
 +    } 
 +  </style> 
 +</html>
 ====== NumPy, SciPy, Matplotlib, CuPy, Pandas のインストール ====== ====== NumPy, SciPy, Matplotlib, CuPy, Pandas のインストール ======
  
-===== NumPy, SciPy, Matplotlib, CuPy のインストール =====+====== NumPy, SciPy, Matplotlib, CuPy のインストール ======
  
-==== Linux ====+===== Linux =====
 <code> <code>
 $ pip3 install numpy scipy matplotlib cupy $ pip3 install numpy scipy matplotlib cupy
 </code> </code>
  
-==== Windows ====+===== Windows =====
 <code> <code>
 > pip install numpy scipy matplotlib cupy > pip install numpy scipy matplotlib cupy
行 22: 行 31:
 ※CuPy をインストールするには [[windows:visualstudio|Visual Studio 2019]] と [[windows:windows10_install_cuda|CUDA Tootkit]] のインストールが必要である。\\ ※CuPy をインストールするには [[windows:visualstudio|Visual Studio 2019]] と [[windows:windows10_install_cuda|CUDA Tootkit]] のインストールが必要である。\\
  
-==== NumPy ==== +====== NumPy ====== 
-{{:python:numpy_logo.svg?200|NumPy Logo}}\\+<WRAP #logo_numpy> 
 +{{:python:numpy_logo.svg?200|NumPy Logo}} 
 +</WRAP>
 本家: [[https://numpy.org/|NumPy — NumPy]]\\ 本家: [[https://numpy.org/|NumPy — NumPy]]\\
 ソースコード: [[https://github.com/numpy/numpy|GitHub - numpy/numpy: The fundamental package for scientific computing with Python.]]\\ ソースコード: [[https://github.com/numpy/numpy|GitHub - numpy/numpy: The fundamental package for scientific computing with Python.]]\\
行 34: 行 45:
 [[https://ja.wikipedia.org/wiki/NumPy|NumPy - Wikipedia]] より\\ [[https://ja.wikipedia.org/wiki/NumPy|NumPy - Wikipedia]] より\\
  
-==== SciPy ====+====== SciPy ======
 [[https://www.scipy.org/|SciPy.org — SciPy.org]]\\ [[https://www.scipy.org/|SciPy.org — SciPy.org]]\\
 \\ \\
行 40: 行 51:
 [[https://ja.wikipedia.org/wiki/SciPy|SciPy - Wikipedia]] より\\ [[https://ja.wikipedia.org/wiki/SciPy|SciPy - Wikipedia]] より\\
  
-==== Matplotlib ====+====== Matplotlib ======
 [[https://matplotlib.org/|Matplotlib: Python plotting — Matplotlib 3.1.1 documentation]]\\ [[https://matplotlib.org/|Matplotlib: Python plotting — Matplotlib 3.1.1 documentation]]\\
 \\ \\
行 46: 行 57:
 [[https://ja.wikipedia.org/wiki/Matplotlib|matplotlib - Wikipedia]] より\\ [[https://ja.wikipedia.org/wiki/Matplotlib|matplotlib - Wikipedia]] より\\
  
-==== CuPy ====+====== CuPy ======
 {{:python:cupy_logo.png?200|CuPy Logo}}\\ {{:python:cupy_logo.png?200|CuPy Logo}}\\
 本家: [[https://cupy.chainer.org/|CuPy]]\\ 本家: [[https://cupy.chainer.org/|CuPy]]\\
 ソースコード: [[https://github.com/cupy/cupy|GitHub - cupy/cupy: NumPy-like API accelerated with CUDA]]\\ ソースコード: [[https://github.com/cupy/cupy|GitHub - cupy/cupy: NumPy-like API accelerated with CUDA]]\\
 +<code>
 +$ git clone https://github.com/cupy/cupy.git
 +</code>
 +リファレンス: [[https://docs-cupy.chainer.org/en/stable/reference/|Reference Manual — CuPy 6.2.0 documentation]]\\
 \\ \\
 **CuPy** は CUDA 上の NumPy 互換の多次元配列の実装である。CuPy は cupy.ndarray、コアの多次元配列クラス、およびそれに関する多くの関数で構成されている。それは numpy.ndarray インターフェイスのサブセットをサポートする。\\ **CuPy** は CUDA 上の NumPy 互換の多次元配列の実装である。CuPy は cupy.ndarray、コアの多次元配列クラス、およびそれに関する多くの関数で構成されている。それは numpy.ndarray インターフェイスのサブセットをサポートする。\\
 [[https://docs-cupy.chainer.org/en/stable/overview.html|Overview — CuPy 6.2.0 documentation]] より\\ [[https://docs-cupy.chainer.org/en/stable/overview.html|Overview — CuPy 6.2.0 documentation]] より\\
  
-===== Pandas のインストール =====+====== Pandas のインストール =====
 +本家: [[https://pandas.pydata.org/|Python Data Analysis Library — pandas: Python Data Analysis Library]]\\ 
 +\\ 
 +**Pandas** は、プログラミング言語 Python において、データ解析を支援する機能を提供するライブラリである。特に、数表および時系列データを操作するためのデータ構造と演算を提供する。Pandas は BSD ライセンスのもとで提供されている。\\
  
-==== Linux ====+===== Linux =====
 <code> <code>
 $ pip3 install pandas $ pip3 install pandas
 </code> </code>
  
-==== Windows ====+===== Windows =====
 <code> <code>
 > pip install pandas > pip install pandas
 </code> </code>
-<WRAP prewrap 100%>+<WRAP prewrap 100% #result>
 <code> <code>
 Collecting pandas Collecting pandas
行 81: 行 99:
 </WRAP> </WRAP>
  
-==== Pandas ==== +===== 使い方 ===== 
-[[https://pandas.pydata.org/|Python Data Analysis Library — pandas: Python Data Analysis Library]]\\ + 
-\\ +==== 行によって列数の異なる CSV を DataFrame 化する方法 ==== 
-**Pandas** 、プロラミング言語 Python において、デタ解析を支援する機能を提供するイブラリである。特、数表および時系データを操作するためデータ構造と演算を提供する。Pandas は BSD ライセンスのもで提供されてい。\\+<file csv data.csv> 
 +col1 col2 col3 col4 col5 
 +1 2 3 4 
 +1 2 3 
 +1 2 3 4 5 
 +</file> 
 +<code python> 
 +In [1]: import csv 
 + 
 +In [2]reader = csv.reader('data.csv'
 + 
 +In [3]: reader 
 +Out[3]: <_csv.reader at 0x22681e467b8> 
 + 
 +In [4]: with open('data.csv') as fp: 
 +    ...:     reader = csv.reader(fp, delimiter='\t'
 +    ...:     data = [row for row in reader] 
 +    ...: 
 + 
 +In [5]: data 
 +Out[5]: 
 +[['col1', 'col2', 'col3', 'col4', 'col5'], 
 + ['1', '2', '3', '4'], 
 + ['1', '2', '3'], 
 + ['1', '2', '3', '4', '5']] 
 + 
 +In [6]: header, values = data[0], data[1:] 
 + 
 +In [7]: import pandas as pd 
 + 
 +In [8]: df = pd.DataFrame(values, columns=header) 
 + 
 +In [9]: print(df) 
 +  col1 col2 col3  col4  col5 
 +0    1    2    3      None 
 +1    1    2    3  None  None 
 +2    1    2    3         5 
 +</code> 
 + 
 +==== データフレームのグループ化(集計) ==== 
 +<WRAP prewrap 100%> 
 +<code python> 
 +In [1]: import pandas as pd 
 + 
 +In [2]df = pd.DataFrame(columns=['col1', 'col2', 'col3', 'col4']
 +   ...:                   data=[['aaa', 1, 2, 3], 
 +   ...:                         ['bbb', 1, 2, 3], 
 +   ...:                         ['ccc', 1, 2, 3], 
 +   ...:                         ['aaa', 2, 4, 6], 
 +   ...:                         ['bbb', 2, 4, 6], 
 +   ...:                         ['ccc', 2, 4, 6], 
 +   ...:                         ['aaa', 3, 6, 9], 
 +   ...:                         ['bbb', 3, 6, 9], 
 +   ...:                         ['ccc', 3, 6, 9]]) 
 + 
 +In [3]: df 
 +Out[3]: 
 +  col1  col2  col3  col4 
 +0  aaa             3 
 +1  bbb             3 
 +2  ccc             3 
 +3  aaa             6 
 +4  bbb             6 
 +5  ccc             6 
 +6  aaa             9 
 +7  bbb             9 
 +8  ccc             9 
 + 
 +# groupby のデフォルト動作はグベルが index なり集計が単一場合は Series が返る 
 +In [4]: grouped = df.groupby(df['col1'])['col2'].sum() 
 + 
 +In [5]: type(grouped) 
 +Out[5]: pandas.core.series.Series 
 + 
 +In [6]: grouped 
 +Out[6]: 
 +col1 
 +aaa    6 
 +bbb    6 
 +ccc    6 
 +Name: col2, dtype: int64 
 + 
 +In [7]: pd.DataFrame(grouped) 
 +Out[7]: 
 +      col2 
 +col1 
 +aaa      6 
 +bbb      6 
 +ccc      6 
 + 
 +# as_index=False にするとグループラベルが列になり DataFrame が返 
 +In [8]: grouped = df.groupby(df['col1'], as_index=False)['col2'].sum() 
 + 
 +In [9]: type(grouped) 
 +Out[9]: pandas.core.frame.DataFrame 
 + 
 +In [10]: grouped 
 +Out[10]: 
 +  col1  col2 
 +0  aaa     6 
 +1  bbb     6 
 +2  ccc     6 
 +</code> 
 +</WRAP>
  
  • python/numpy_scipy_matplotlib.1564556917.txt.gz
  • 最終更新: 2019/07/31 16:08
  • by ともやん