Rばかりいじっていたら忘れてしまうので、備忘メモです。
今回は、pandasを使用して外部からデータフレーム に読み込んだ場合を想定しています。
[目次]
- まずはデータの読み込み
- データの行数・列数を確認する
- pandasデータフレーム の情報が知りたい場合
- データフレーム の列ごとの統計量(平均、分散、四分位点、最大・最小値)を知りたい場合
- データフレーム の最初の数行を確認したい場合
- データフレーム の最後の数行を確認したい場合
まずはデータの読み込み
以下のようなデータを読み込むことを考えます。Grade | Class | Club | Headcount |
---|---|---|---|
First | A | Soccer | 3 |
First | A | Baseball | 5 |
First | A | Tennis | 3 |
First | B | Soccer | 6 |
First | B | Baseball | 7 |
First | B | Tennis | 8 |
First | C | Soccer | 4 |
First | C | Baseball | 0 |
First | C | Tennis | 2 |
Second | A | Soccer | 6 |
Second | A | Baseball | 3 |
Second | A | Tennis | 4 |
Second | B | Soccer | 1 |
Second | B | Baseball | 8 |
Second | B | Tennis | 9 |
Second | C | Soccer | 6 |
Second | C | Baseball | 5 |
Second | C | Tennis | 7 |
Third | A | Soccer | 3 |
Third | A | Baseball | 2 |
Third | A | Tennis | 6 |
Third | B | Soccer | 7 |
Third | B | Baseball | 4 |
Third | B | Tennis | 9 |
Third | C | Soccer | 7 |
Third | C | Baseball | 8 |
Third | C | Tennis | 6 |
読み込み方としては、
1.上記データをcsvファイル(例えばaaa.csvとする)にコピーペーストして、pandasのread_csvで読み込む方法
具体的には
import pandas as pd df = pd.read_csv("aaa.csv")
で一発です。
もしくは、
2.上記データをコピーしてクリップボードからpadasのデータフレーム に読み込む方法
具体的には
import pandas as pd df = pd.read_clipboard()
で一発です。
データの行数・列数を確認する
df.shape
で確認可能です。
これを実行すると、
(27, 4)
のように出力されます。これは、27行・4列のデータの場合になります。
行数だけ確認したい場合
行数だけ確認した場合には、以下の3通りの方法があります。
df.shape[0] #もしくは len(df) #もしくは len(df.index)
いずれも、27が出力されます。
これで、行数分のfor文を作成したい時には、
for i in range(df.shape[0]): #命令文 #もしくは for i in range(len(df)): #命令文 #もしくは for i in range(len(df.index)): #命令文
としてやれば良いです。
列数だけ確認したい場合
列数を確認したい場合には、
df.shape[1] #もしくは len(df.columns)
で求められます。
この場合はいずれも4が出力されます。
pandasデータフレーム の情報が知りたい場合
データフレーム のメモリ使用量とかnullオブジェクトがいくつぐらいあるのかといったことを確認する時には
df.info()
で調べることができます。
今回の場合は
<class 'pandas.core.frame.DataFrame'> RangeIndex: 27 entries, 0 to 26 Data columns (total 4 columns): Grade 27 non-null object Class 27 non-null object Club 27 non-null object Headcount 27 non-null int64 dtypes: int64(1), object(3) memory usage: 944.0+ bytes
という出力になります。
この程度のデータであれば、メモリはほんの僅かしか使用していませんね。
データフレーム の列ごとの統計量(平均、分散、四分位点、最大・最小値)を知りたい場合
列ごとの統計量を知りたい場合はdf.describe()
で調べることができます。
この場合、出力は以下のようになります。
Headcount count 27.000000 mean 5.148148 std 2.460514 min 0.000000 25% 3.000000 50% 6.000000 75% 7.000000 max 9.000000
Headcount 以外の列は数値データではないので、出力されません。
データフレーム の最初の数行を確認したい場合
データフレーム で最初の数行を確認するには、以下のように実行します。>df.head()
この場合は、最初の5行分が出力されます。
Grade Class Club Headcount 0 First A Soccer 3 1 First A Baseball 5 2 First A Tennis 3 3 First B Soccer 6 4 First B Baseball 7
確認する行数を変更する場合には、headの引数として指定すればOKです。
df.head(10)
これで10行分確認ができます。
Grade Class Club Headcount 0 First A Soccer 3 1 First A Baseball 5 2 First A Tennis 3 3 First B Soccer 6 4 First B Baseball 7 5 First B Tennis 8 6 First C Soccer 4 7 First C Baseball 0 8 First C Tennis 2 9 Second A Soccer 6
データフレーム の最後の数行を確認したい場合
head()ではなく、tail()を使用すれば可能です。df.tail()
これで出力は
Grade Class Club Headcount 22 Third B Baseball 4 23 Third B Tennis 9 24 Third C Soccer 7 25 Third C Baseball 8 26 Third C Tennis 6 <|| となります。 確認する行数を変更するには、引数で指定して >|python| df.tail(10)
としてやればOKです。
これで10行分が出力されます。
Grade Class Club Headcount 17 Second C Tennis 7 18 Third A Soccer 3 19 Third A Baseball 2 20 Third A Tennis 6 21 Third B Soccer 7 22 Third B Baseball 4 23 Third B Tennis 9 24 Third C Soccer 7 25 Third C Baseball 8 26 Third C Tennis 6