pandas

2021 年 11 月 19 日 改訂

pandas は、データ操作を行う Python のライブラリです。私は Excel file からデータを抽出するのに利用しています。


インストール

公式 HP に、様々なインストール方法がまとめられています。


pandas が入っているか確認

[USERNAME@ik1-319-19791 ~]$ python3
Python 3.7.11 (default, Jul 20 2021, 14:16:34)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pandas'

[USERNAME@ik1-319-19791 ~]$ python3.6
Python 3.6.5 (default, Apr 10 2018, 17:08:37)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> print(pd.__version__)
1.1.5


pip を用いる

pandas を Python3 にインストールするには、以下のコマンドを入力してください。数分かかります。pip3 のアドレスについては、以下の「注意」を参照。

[osaka USERNAME:~]$which python3
/usr/local/bin/python3

[osaka USERNAME:~]$sudo ./pip3 install pandas

こちらを参照しました。

このままだと、pandas を含んだスクリプトを走らせた場合、以下のようなエラーが出ます。

ImportError: Missing optional dependency 'openpyxl'. Use pip or conda to install openpyxl.

そこで、xlrd, openpyxl をインストールしてください。

[osaka USERNAME:~]$./pip3 install xlrd
[osaka USERNAME:~]$./pip3 install openpyxl

xlrd は最新のバージョンでは動かないかもしれません。この場合は、以下の処理によってバージョンを下げました。

[osaka USERNAME:~]$./pip3 uninstall xlrd
[osaka USERNAME:~]$./pip3 install xlrd==1.2.0

注意: 使う pip3 を間違えると、 xlrd などパッケージが正しくインストールされない場合があります。その場合は、実際に使っている python3 が保存されているディレクトリの pip3 を利用すると良いです。

[pre USERNAME:~]$ which python3
/usr/local/bin/python3
[pre USERNAME:~]$ cd /usr/local/bin/
[pre USERNAME:bin]$ ls
2to3@ f2py3* pip3* python3-config@ pyvenv@...
[pre USERNAME:bin]$ sudo ./pip3 install xlrd==1.2.0


yum を用いる

yum install python3-pandas

yum だと古いバージョンをインストールされる可能性があるようです。このため公式 HP では、pip を使ってインストールを勧めています。

However, the packages in the linux package managers are often a few versions behind, so to get the newest version of pandas, it’s recommended to install using the pip or conda methods described above.


ソースコードからインストール

以下を参照してください。私は pip を用いたインストールしかやったことがありません。

github/README.md

pandas 0.11.0 documentation

 

Excel file の読み込みとソート

Excel file の読み込み


pandas_sort_excel.tar.gz

こちら(1, 2)を参考にしました。

アウトプット:
ソースコード:

#!/usr/bin/env python

import pandas as pd

df = pd.read_excel("sample_pandas_normal.xlsx")
print("df")
print(df)

# 第一引数 by をリストで指定すると、複数列を基準にソートできる
# リストの後ろから順番にソートされていくイメージ。
# 最後にリストの最初の列でソートされる。
# 引数 ascending をリストで指定すると、それぞれの列に対して
# 昇順・降順を選択できる
df_s = df.sort_values(["state", "age"], ascending=[False, False])
print("df_s")
print(df_s)

names = df_s["name"]
print("names")
for name in names:
print(name)


環境 DNA メタ 12S: Excel file からデータを抽出

sort_eDNAres.tar.gz
(2021/2/17)

 

特定の行だけ抜き取る

extractEnvironments.tar.gz
(2021 年 11 月)

 

その他

ライブラリ (xlrd, xlwt) を利用

こちらを参考にしました。

読み込み

read_excel_file.tar.gz

   

書き出し

write_excel_file.tar.gz


(2020 年 11 月)



リンク

pandas データフレームの作り方

非常に分かりやすいです。make_df_pd.py を作成しました。

pandas で Excel ファイル (xlsx, xls) の読み込み

pandas.read_excel() 関数の利用。

pandas.DataFrame, Series をソートする sort_values, sort_index

sort_values(), sort_index() メソッドの利用。