今回はpandasを用いて.csvファイルからの読み込み,出力についてまとめました。
まだまだ未熟者ですので、不備や間違えている点があれば指摘していただけると幸いです。
pandasとは
pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool,
built on top of the Python programming language.
pandasは高速, 強力, 柔軟, そして簡単に使用できるオープンソースのデータ分析やデータ操作ツールです。python上に構築されています。
pandas - Python Data Analysis Library
準備
環境
名称 | バージョン |
---|---|
macOS Catalina | 10.15.3 |
pandas | 0.25.1 |
各ライブラリのインストール
$pip3 install pandas
今回使用するsample.csv
sample.csv
name,HP,MP,ATK,DEF,INT
A,83,89,76,97,76
B,66,93,75,88,76
C,100,84,96,82,94
D,60,73,63,52,70
E,92,62,84,80,78
F,96,92,94,92,90
上記のファイルをこれから作成するソースコードと同じフォルダに入れて実行します。
csvファイルの読み込み
書式
import pandas as pd
#csvファイルの読み込み
df = pd.read_csv("file_name.csv")
説明
import pandas as pd
pandasをpdという名称で読み込んでいる
こうすることで
import pandas
df = pandas.reac_csv("file_name.csv")
ではなく以下のように短く記述してpandasを使用することができる.
import pandas as pd
df = pd.reac_csv("file_name.csv")
実行ファイル
import pandas as pd
df = pd.read_csv("sample.csv")
print(df)
実行結果
name HP MP ATK DEF INT
0 A 83 89 76 97 76
1 B 66 93 75 88 76
2 C 100 84 96 82 94
3 D 60 73 63 52 70
4 E 92 62 84 80 78
5 F 96 92 94 92 90
列を指定して表示
書式
#1つの列を指定
df["col_name"]
#2つの列を指定
df[["col_name1", "col_name2"]]
実行ファイル
import pandas as pd
df = pd.read_csv("sample.csv")
#列を指定して出力
print("---select column")
print(df["name"])
print("---")
#列を複数指定して出力
print("---select multiple columns")
print(df[["name","HP"]])
print("---")
実行結果
---select column
0 A
1 B
2 C
3 D
4 E
5 F
Name: name, dtype: object
---
---select multiple columns
name HP
0 A 83
1 B 66
2 C 100
3 D 60
4 E 92
5 F 96
---
行を指定して表示
書式
#1つの行を指定
df.loc[row_number]
#2つの行を指定
df[[row_number1, row_number2]]
実行ファイル
import pandas as pd
df = pd.read_csv("sample.csv")
#行を指定して出力
print("---select row")
print(df.loc[0])
print("---")
#行を複数指定して出力
print("---select multiple rows")
print(df.loc[[0,2]])
print("---")
実行結果
---select row
name A
HP 83
MP 89
ATK 76
DEF 97
INT 76
Name: 0, dtype: object
---
---select multiple rows
name HP MP ATK DEF INT
0 A 83 89 76 97 76
2 C 100 84 96 82 94
---
1つの要素データを指定
書式
df.loc[row_number]["col_name"]
実行ファイル
import pandas as pd
df = pd.read_csv("sample.csv")
print("---select one element")
print(df[2][name])
print("---")
実行結果
--- select one element
C
---
条件にあうデータの表示
実行ファイル
import pandas as pd
df = pd.reac_csv("sample.csv")
data_atk = df[df["ATK"] > 85]
print("---ATK > 85")
print(data_atk)
print("---")
実行結果
---ATK > 85
name HP MP ATK DEF INT
2 C 100 84 96 82 94
5 F 96 92 94 92 90
---
ソートして表示する
書式
#昇順(小さいものほど先にくる)
df = df.sort_values("col_name")
#降順(大きいものほど先にくる)
df = df.sort_values("col_name", ascending=False)
ascending:のぼっていく、上昇的な
ascending とは 意味・読み方・表現 | Weblio英和辞書
実行ファイル
import pandas as pd
df = pd.reac_csv("sample.csv")
HP_asc = df.sort_values("HP")
print("---HP ascending")
print(HP_asc)
print("---")
HP_desc = df.sort_values("HP", ascending=False)
print("---HP descending")
print(HP_desc)
print("---")
実行結果
---HP ascending
name HP MP ATK DEF INT
3 D 60 73 63 52 70
1 B 66 93 75 88 76
0 A 83 89 76 97 76
4 E 92 62 84 80 78
5 F 96 92 94 92 90
2 C 100 84 96 82 94
---
---HP descending
name HP MP ATK DEF INT
2 C 100 84 96 82 94
5 F 96 92 94 92 90
4 E 92 62 84 80 78
0 A 83 89 76 97 76
1 B 66 93 75 88 76
3 D 60 73 63 52 70
---
転置して表示
実行ファイル
import pandas as pd
df = pd.read_csv("sample.csv")
print("---Transposition")
print(df.T)
print("---")
実行結果
---Transposition
0 1 2 3 4 5
name A B C D E F
HP 83 66 100 60 92 96
MP 89 93 84 73 62 92
ATK 76 75 96 63 84 94
DEF 97 88 82 52 80 92
INT 76 76 94 70 78 90
---
listに変換して表示
実行ファイル
import pandas as pd
df = pd.read_csv("sample.csv")
print("---list")
print(df.values)
print("---")
実行結果
---list
[['A' 83 89 76 97 76]
['B' 66 93 75 88 76]
['C' 100 84 96 82 94]
['D' 60 73 63 52 70]
['E' 92 62 84 80 78]
['F' 96 92 94 92 90]]
---
参考文献
この記事は以下の情報を参考にして執筆しました。