見出し画像

pandasの覚書①(csvファイル読込、指定カラムの取得)

pandasの個人的な覚書です。


ライブラリのインポート

import pandas as pd
import numpy as np


csvファイルの読み込み(read_csv)

df = pd.read_csv('パス名/ファイル名.csv' ,encoding='cp932')

encodingはデフォルト(省略した場合)はutf-8で、utf-8ではないファイルに対しては文字化けするのではなくエラーUnicodeDecodeErrorになる。
個人的に使うデータがcp932なのでここではこちらを覚えとして記載します。


カラム名の一覧表示(columns)

df.columns

#Index(['商品', '数量', '単価', '金額'], dtype='object')


指定した行数を表示(head() tail())

df.head(8)

#
           商品	数量	単価	金額
0	リンゴA	18	400	7200
1	バナナC	12	260	3120
2	メロンA	43	1000 43000
3	イチゴA	21	600	12600
4	リンゴB	44	430	18920
5	バナナA	21	200	4200
6	メロンA	1	1000 1000
7	イチゴC	244	660	161040

df.tail(3)
#
	商品 	数量	単価	金額
22	メロンA	442	1000 442000
23	イチゴB	645	630	406350
24	リンゴA	5	400	2000

引数を指定すると上から指定した行数が表示される
(tail()の場合、下から指定した行数)


インデックスを振り直す(set_index() , index)

df = df.set_index(np.arange(1, len(df)+1))
#または
df.index = np.arange(1, len(df)+1)


print(df)
#
	商品	   数量	単価	 金額
1	リンゴA	18	400	7200
2	バナナC	12	260	3120
3	メロンA	43	1000 43000
4	イチゴA	21	600	12600
5	リンゴB	44	430	18920
                                      ・
                                      ・
                                      ・

インデックスを指定しない場合は0から連番で割り振られるので、見やすいように1から連番を振り直す。
numpyのarangeを使用。len(df)で行数を取得。


指定したカラムを取得([[" カラム名"]])

df[['商品']].head()
#
    商品
1	リンゴA
2	バナナC
3	メロンA
4	イチゴA
5	リンゴB

#複数の場合
df[['商品','数量']].head()
#
    商品	    数量
1	リンゴA	18
2	バナナC	12
3	メロンA	43
4	イチゴA	21
5	リンゴB	44



テスト用データ


この記事が気に入ったらサポートをしてみませんか?