pythonのpandasパッケージのDataFrameに関する操作ilocと.locの違い
3985 ワード
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))
print(df)
df
a b c
0 0 2 4
1 6 8 10
2 12 14 16
3 18 20 22
4 24 26 28
5 30 32 34
6 36 38 40
7 42 44 46
8 48 50 52
9 54 56 58
.loc , df['b'] b ,df['b'] :
0 2
1 8
2 14
3 20
4 26
5 32
6 38
7 44
8 50
9 56
Name: b, dtype: int32
, .loc , .loc, ,
.iloc。 , .
df.loc[0, 'a']#
:0
df.loc[0:3, ['a', 'b']]# 0,1,2,3 a,b ,
# df.loc[0:3, 'a']
# , [] df.loc[0:3, ['a', 'b']]
:
a b
0 0 2
1 6 8
2 12 14
3 18 20
# , []
#
df.loc[[1, 5], ['b', 'c']] df.loc[[1, 5]][['b', 'c']] , , , ,
:
b c
1 8 10
5 32 34
column name , , index , , .iloc 。 i index, 。
df.iloc[1,1]
:8
df.iloc[0:3, [0,1]]
:
a b
0 0 2
1 6 8
2 12 14
3 18 20
.iloc ,
df.iloc[[0, 3, 5], 0:2] # , 0,1
:
a b
0 0 2
3 18 20
5 30 32
df.iloc[:, :]#
df.loc[:][:]#
:
a b c
0 0 2 4
1 6 8 10
2 12 14 16
3 18 20 22
4 24 26 28
5 30 32 34
6 36 38 40
7 42 44 46
8 48 50 52
9 54 56 58
, df a 6 b c
df.loc[df['a'] == 6][['b', 'c']]
:
b c
1 8 10