Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 22058

[pandas].csvファイル読み込み、表示方法

$
0
0

今回は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 Catalina10.15.3
pandas0.25.1

各ライブラリのインストール

$pip3install 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ファイルの読み込み

書式

importpandasaspd#csvファイルの読み込み
df=pd.read_csv("file_name.csv")
説明
importpandasaspd

pandasをpdという名称で読み込んでいる

こうすることで

importpandasdf=pandas.reac_csv("file_name.csv")

ではなく以下のように短く記述してpandasを使用することができる.

importpandasaspddf=pd.reac_csv("file_name.csv")

実行ファイル

importpandasaspddf=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"]]

実行ファイル

importpandasaspddf=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]]

実行ファイル

importpandasaspddf=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"]

実行ファイル

importpandasaspddf=pd.read_csv("sample.csv")print("---select one element")print(df[2][name])print("---")

実行結果

--- select one element
C
---

条件にあうデータの表示

実行ファイル

importpandasaspddf=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英和辞書

実行ファイル

importpandasaspddf=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
---

転置して表示

実行ファイル

importpandasaspddf=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に変換して表示

実行ファイル

importpandasaspddf=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]]
---

参考文献

この記事は以下の情報を参考にして執筆しました。


Viewing all articles
Browse latest Browse all 22058

Trending Articles