5.3 DataFrame 객체

6181 단어
5.3.1 DataFrame 소개
DataFrame 객체는 Pandas에서 가장 많이 사용되는 데이터 객체입니다.DataFrame은 다양한 데이터 유형을 저장할 수 있는 2D 테이블 구조이며 각 좌표축에는 고유의 레이블이 있습니다.쉽게 말하면 DataFrame은 pandas에서 데이터를 구성하는 표입니다.
5.3.2 DataFrame 객체 만들기
다음은 예제 코드의 DataFrame 객체입니다.
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(6,4), index = np.arange(0,6), columns = list("ABCD"))
print(df)

실행 결과
          A         B         C         D
0 -0.846645  1.520671 -0.381286 -1.120017
1  0.448834  0.287758  0.207721 -0.459574
2  0.140812 -1.151756 -0.629771  0.501368
3 -1.757895 -0.311795 -0.023981 -0.433921
4 -2.666680  0.162864  1.905826  0.312644
5  0.841167 -1.883985  0.473520 -0.061960

우리는 6*4 데이터,numpy를 만듭니다.random의randn 함수는 정적 분포에 복종하는 무작위 수를 만드는 데 사용됩니다.index 파라미터는 행표 인덱스, 즉 데이터 행의 기록이 0에서 5까지임을 나타낸다.colunms 매개 변수는 데이터 열 속성이 A에서 B까지의 열 색인을 나타냅니다.또한 사전을 사용하여 A와 B의 열 이름을 가진 데이터 상자를 만드는 것과 같은 DataFrame 객체를 만들 수도 있습니다. 색인은 자동으로 만들어지는 정수이고 예제 코드는 다음과 같습니다.
df2 = pd.DataFrame( { 'A' : np.random.randn(6), 'B' : np.random.randn(6),} )
print(df2)

실행 결과
          A         B
0  0.086054  0.033148
1 -0.350087 -1.116980
2  1.448491 -0.216606
3  0.023093 -0.750871
4 -0.391246  1.312327
5  0.767756 -0.803959

만약 사전 내의 데이터 길이가 다르다면 가장 긴 데이터를 기준으로 한다. 예를 들어 A열은 1줄, B열은 4줄, 예시 코드:
df3 = pd.DataFrame( { 'A' : pd.Timestamp("20170415"), 'B' : pd.Series(1, index=list(range(4))), } )
print(df3)

실행 결과
           A  B
0 2017-04-15  1
1 2017-04-15  1
2 2017-04-15  1
3 2017-04-15  1

5.3.3 DataFrame 객체의 속성
Frame 대상이 만들어진 후에 그 데이터와 구조 특징을 설명하는 관련 속성을 갖추었고 주로 index,columns,values,dtypes,shape 등이 있다.info는 주로 DataFrame 대상의 기본 정보에 대한 설명으로 사용되며, index와columns는 각각 줄 인덱스와 열 이름을 표시하고, 예시 코드는 다음과 같다.
print(df.index)
print("
") print(df.columns)

실행 결과:
Int64Index([0, 1, 2, 3, 4, 5], dtype='int64')


Index(['A', 'B', 'C', 'D'], dtype='object')

values 속성은 데이터 값을 보기 위한 예제 코드입니다.
print(df.values)

실행 결과:
[[-0.84664486  1.52067103 -0.38128625 -1.12001714]
 [ 0.44883372  0.28775841  0.20772062 -0.45957372]
 [ 0.1408116  -1.15175558 -0.62977112  0.50136828]
 [-1.75789514 -0.3117948  -0.02398082 -0.43392136]
 [-2.66668042  0.16286389  1.90582602  0.31264409]
 [ 0.8411672  -1.88398537  0.47351964 -0.06196017]]

dtypes 속성은 줄마다 변수의 데이터 형식을 가져오는 데 사용되며 shape 속성은 NumPy의ndarray 그룹과 유사하며 DataFrame의 줄 수와 열 수를 얻을 수 있습니다.코드 예:
print(df.dtypes)
print("
") print(df.shape)

실행 결과:
A    float64
B    float64
C    float64
D    float64
dtype: object


(6, 4)

5.3.4 DataFrame 객체 메서드
DataFrame이 갖추고 있는 방법으로 데이터 값에 관한 정보를 관찰할 수 있는데, 주요 방법으로는 info(),count(),head(),tail(),sort(),decribe() 등이 있다.info () 방법은 DataFrame 객체에 대한 기본 정보에 대한 설명입니다.count () 방법은 각 열 변수의 모든 누락되지 않은 데이터의 개수를 되돌려줍니다. 예시 코드:
print(df.info())
print("
") print(df.count())

실행 결과:

Int64Index: 6 entries, 0 to 5
Data columns (total 4 columns):
A    6 non-null float64
B    6 non-null float64
C    6 non-null float64
D    6 non-null float64
dtypes: float64(4)
memory usage: 240.0 bytes
None


A    6
B    6
C    6
D    6
dtype: int64
head()           (    5 ),                  ,    :
```python
print(df.head())

실행 결과:
          A         B         C         D
0 -0.846645  1.520671 -0.381286 -1.120017
1  0.448834  0.287758  0.207721 -0.459574
2  0.140812 -1.151756 -0.629771  0.501368
3 -1.757895 -0.311795 -0.023981 -0.433921
4 -2.666680  0.162864  1.905826  0.312644

예제 코드의 첫 3행 데이터 표시를 지정합니다.
print(df.head(3))

실행 결과:
          A         B         C         D
0 -0.846645  1.520671 -0.381286 -1.120017
1  0.448834  0.287758  0.207721 -0.459574
2  0.140812 -1.151756 -0.629771  0.501368

tail () 방법을 사용하면 마지막 몇 줄의 데이터(기본값도 5줄)를 볼 수 있습니다. 예시 코드:
print(df.tail())

실행 결과:
          A         B         C         D
1  0.448834  0.287758  0.207721 -0.459574
2  0.140812 -1.151756 -0.629771  0.501368
3 -1.757895 -0.311795 -0.023981 -0.433921
4 -2.666680  0.162864  1.905826  0.312644
5  0.841167 -1.883985  0.473520 -0.061960

Describe () 방법은 데이터 집합의 상용 통계량 정보를 얻는 데 사용되며 계수, 평균수, 표준차, 최대치, 최소치, 4분위차를 포함한다.주의해야 할 것은 이 방법은 수치형 변수의 정보만 되돌려줍니다. 예시 코드:
print(df.describe())

실행 결과:
              A         B         C         D
count  6.000000  6.000000  6.000000  6.000000
mean  -0.640068 -0.229374  0.258671 -0.210243
std    1.370322  1.189895  0.898960  0.590199
min   -2.666680 -1.883985 -0.629771 -1.120017
25%   -1.530083 -0.941765 -0.291960 -0.453161
50%   -0.352917 -0.074465  0.091870 -0.247941
75%    0.371828  0.256535  0.407070  0.218993
max    0.841167  1.520671  1.905826  0.501368

우리도sort() 방법을 통해 데이터를 정렬할 수 있다. 그 중에서sort() 괄호 안의 매개 변수는 어느 열의 데이터에 따라 정렬할 것인지를 지정할 수 있다. 기본값은 첫 번째 열로 작은 것부터 큰 것까지 순서대로 정렬할 수 있다.코드 예:
print(df.sort(columns='C'))

실행 결과:
          A         B         C         D
2  0.140812 -1.151756 -0.629771  0.501368
0 -0.846645  1.520671 -0.381286 -1.120017
3 -1.757895 -0.311795 -0.023981 -0.433921
1  0.448834  0.287758  0.207721 -0.459574
5  0.841167 -1.883985  0.473520 -0.061960
4 -2.666680  0.162864  1.905826  0.312644

또한 DataFrame은 ndarray와 유사하며 테이블 데이터에 대한 변환 작업, 예제 코드와 같은 큰 T 방법을 제공합니다.
print(df.T)

실행 결과:
          0         1         2         3         4         5
A -0.846645  0.448834  0.140812 -1.757895 -2.666680  0.841167
B  1.520671  0.287758 -1.151756 -0.311795  0.162864 -1.883985
C -0.381286  0.207721 -0.629771 -0.023981  1.905826  0.473520
D -1.120017 -0.459574  0.501368 -0.433921  0.312644 -0.061960

좋은 웹페이지 즐겨찾기