pandas

[pandas] DataFrame 컬럼, 행 조회

전감자(◔◡◔) 2022. 10. 2. 17:55

- 컬럼 조회 

df.컬럼명    ==> series 반환

df['컬럼명'] ==> series 반환

df[['컬럼명','컬럼명']] ==> 다중컬럼 조회 

 

dict_value={"c1":[4,5,6],
            "c2":[14,35,26],
            "c3":[43,50,61]}

df=pd.DataFrame(dict_value)
print(df)

print(df.c1)# series 반환
'''
0    4
1    5
2    6
Name: c1, dtype: int64
'''

print(df['c2']) #series 반환
'''
0    14
1    35
2    26
Name: c2, dtype: int64
'''

print(df[ ["c1","c3"] ])#DataFrame 반환
'''
   c1  c3
0   4  43
1   5  50
2   6  61
'''

# 특별한 경우 ==> 동일 컬럼을 여러번 선택 가능
print(df[["c1","c1","c1","c1"]])
'''
   c1  c1  c1  c1
0   4   4   4   4
1   5   5   5   5
2   6   6   6   6
'''

 

- 행 조회  

행 이름 조회: df.loc([행이름])

행 위치 조회: df.iloc([행위치])

dict_value={"c1":[4,5,6,76],
            "c2":[14,35,26,8],
            "c3":[43,50,61,9],
            }

df=pd.DataFrame(dict_value,index=list("ABCD"))
print(df)
'''
   c1  c2  c3
A   4  14  43
B   5  35  50
C   6  26  61
D  76   8   9

'''

print("1.행라벨로 조회")
print("가. 단일행")
print(df.loc['A'])#series로 반환
'''
c1     4
c2    14
c3    43
Name: A, dtype: int64
'''

print("나. 다중행-fancy 색인")
print(df.loc[['A','C','D']])#DataFrame 반환
'''
   c1  c2  c3
A   4  14  43
C   6  26  61
D  76   8   9
'''
print("나. 다중행-슬라이싱 색인")
print(df.loc["B":"D"])#DataFrame 반환
'''
B   5  35  50
C   6  26  61
D  76   8   9
'''

print("나. 다중행-boolean 색인")
print(df.loc[[True,False,True,False]])
'''
   c1  c2  c3
A   4  14  43
C   6  26  61
'''

print("2.행위치로 조회")

print("가. 단일행")
print(df.iloc[0])#series로 반환
print(df.iloc[2])#c행이 series로 반환된다.
print(df.iloc[-1])#역방향 가능

'''
c1     6
c2    26
c3    61
'''

print("나. 다중행-fancy 색인")
print(df.iloc[[0,2,3]])
'''
   c1  c2  c3
A   4  14  43
C   6  26  61
D  76   8   9
'''
print("나. 다중행-슬라이싱 색인")
print(df.iloc[0:2])
'''
   c1  c2  c3
A   4  14  43
B   5  35  50
'''
print("나. 다중행-boolean 색인")
print(df.iloc[[True,False,True,False]])
'''
   c1  c2  c3
A   4  14  43
C   6  26  61
'''