LoginSignup
0
1

More than 1 year has passed since last update.

【Python】 Pandas データフレームの操作

Last updated at Posted at 2022-04-26

インポート

import pandas as pd

CSVの読み込み

data = pd.read_csv("ファイルのパス")

例えば、データフレームが以下だとして進めていく。

	name	height	weight	age
0	シンジ	160	49	14.0
1	レイ	159	38	14.0
2	カヲル	162	47	NaN
3	マリ	172	58	NaN
4	アスカ	160	42	14.0

特定の列を取得

# locを使用した列の抽出
data_target = data.loc[:,"name"]

# 以下のコードでも同じ実行結果が得られる
# data_target = data.name

data_target
<実行結果>
0    シンジ
1     レイ
2    カヲル
3     マリ
4    アスカ
Name: name, dtype: object
# ilocを使用してDataFrameのまま列を抽出

data_target = data.iloc[:,0:1]

data_target
<実行結果>
	name
0	シンジ
1	レイ
2	カヲル
3	マリ
4	アスカ
# locを使用した複数列の抽出
data_train = data.loc[:,"height":"age"]

data_train
<実行結果>
	height	weight	age
0	160	49	14.0
1	159	38	14.0
2	162	47	NaN
3	172	58	NaN
4	160	42	14.0

特定の行を取得

data[0:3]
<実行結果>
name	height	weight	age
0	シンジ	160	49	14.0
1	レイ	159	38	14.0
2	カヲル	162	47	NaN

行の削除

# 1行目を削除
df = df.drop(0)

DataFrameの単純結合

axis = 0がデフォルトで縦結合、axis = 1で横結合

import pandas as pd

data = pd.read_csv("sample.csv")

# dataの分割
data1 = data.iloc[:2,:4]
data2 = data.iloc[2:5,:4]

# dataの結合
data3 = pd.concat([data1, data2])

print(data,"\n")
print(data1,"\n")
print(data2,"\n")
print(data3)
<実行結果>
 name  height  weight   age
0  シンジ     160      49  14.0
1   レイ     159      38  14.0
2  カヲル     162      47   NaN
3   マリ     172      58   NaN
4  アスカ     160      42  14.0 

 name  height  weight   age
0  シンジ     160      49  14.0
1   レイ     159      38  14.0 

 name  height  weight   age
2  カヲル     162      47   NaN
3   マリ     172      58   NaN
4  アスカ     160      42  14.0 

 name  height  weight   age
0  シンジ     160      49  14.0
1   レイ     159      38  14.0
2  カヲル     162      47   NaN
3   マリ     172      58   NaN
4  アスカ     160      42  14.0

インデックスの振り直し

drop = Trueにすることで元のインデックスを削除できる
falseにする(デフォルト)と元のインデックスは新しい列として追加される

df_r = df.reset_index(drop=True)
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