0
1

More than 1 year has passed since last update.

pythonデータセットインポート(範囲の指定の方法)

Last updated at Posted at 2023-01-18

必要なデータを作成する。

エクセルファイルや、CSVファイルからデータを読み込んでもよいが、
今回は、データの作成から行ってみます。
架空のアイドルチームと髪の毛の色のデータを作成していきます。

list1=[["purple","yellow","red"], ["indigo","Light blue","pink"], 
       ["black","red","black"],["white","bright green","gold"],
       ["pink","purple","green"],["skyblue","pink","green"]]
index1 = ["チーム1", "チーム2", "チーム3","チーム4","チーム5","チーム6"]#行
columns1 =["1人目", "2人目", "3人目"]#列
dataset = pd.DataFrame(data=list1, index=index1, columns=columns1)

dataset

以下のように出力されます。

1人目 2人目 3人目
チーム1 purple yellow red
チーム2 indigo Light blue pink
チーム3 black red black
チーム4 white bright green gold
チーム5 pink purple green
チーム6 skyblue pink green

データの前処理いろいろ

ここで、分割するときに、ilocで指定する際に、iloc[〇,△]
〇は、行の指定を行い、△は列の指定を行う。

X = dataset.iloc[:3,:].values

今回〇を「:3」、△を「:」とすることで、
〇は、最初の1行目から3行目までのデータを取得し
△は、「:」ですべての行のデータを取得することを意味している。

出力結果は以下のようになりました。

1人目 2人目 3人目
チーム1 purple yellow red
チーム2 indigo Light blue pink
チーム3 black red black
X = dataset.iloc[:-1,:].values

「最初から最後の1つ手前(チーム5)まで取得できます。」

1人目 2人目 3人目
チーム1 purple yellow red
チーム2 indigo Light blue pink
チーム3 black red black
チーム4 white bright green gold
チーム5 pink purple green
X = dataset.iloc[2:,:].values

「チーム3から最後まで取得することができます。」

1人目 2人目 3人目
チーム3 black red black
チーム4 white bright green gold
チーム5 pink purple green
チーム6 skyblue pink green

今回の重要なこと

ここで、「:3」で最初から3つめまで、「:-1」で最初から最後を抜かしたところまで、
「2:」でチーム3から最後まで取得できることがわかりましたが、途中から途中までのデータを取得するには
と疑問に思いました。
今回のケースでは、チーム2、チーム3、チーム4、チーム5だけ取得したい場合の書き方については、

X = dataset.iloc[[1,2,3,4],:].values

このように、[〇,△]の〇のなかにさらに、[]を入れ指定したい行を選択するとよい
(※ただし、先頭は、0から数えるため注意)
(※ほかに良い方法あり、記事の下部「追記2」に記載)

1人目 2人目 3人目
チーム2 indigo Light blue pink
チーム3 black red black
チーム4 white bright green gold
チーム5 pink purple green

まとめ

行を指定する際に、行の途中から途中までを取得したい場合には、
X = dataset.iloc[[1,2,3,4],:].values
[行,列]の行にさらに[]を入れ、2重構造にすれば、指定することができます。

追記)
Python形式でのコードチャンクがpythonのコードと
認識するためには、「```python」と書くことで認識をできました。
また、出力結果は、「|」を用い、表現することもできました。

追記2)

X = dataset.iloc[1:5,:].values

上記のように、iloc[〇,△]にあたる〇の部分において、
1:5のようにすると、取得したい、
チーム2、チーム3、チーム4、チーム5の情報を得ることが可能になる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1