본문 바로가기

■ 코딩 ■/02 Python 실무적용

(Input) Python Input Data 이해하기 - 1 (DataFrame)

728x90
반응형

2차 방정식의 해를 구하는 코딩을 만들기 위해 Excel에서 Input Data를 읽어왔을 것이다.

( Input Data를 읽는 방법은.. ☞클릭! )

 

그렇다면 Python으로 읽은 Data 를 이해해보자!!

 

내가 Input Data를 읽는 과정은 사실 Python의 Pandas에 있는 DataFrame 이라는 기능을 사용한 것이다.

 

DataFrame은 주어진 Input을 표의 형태(음.. 약간 행렬같은 느낌)으로 읽어들이는데, 그 기능이 너무 많아서 사실 나도 다 모른다....

( 구글에 Python Pandas 라고 검색하면 정말 너무 많은 자료가 있다..)

 

다만, Input Data를 Excel로 만드는 것이 편하고, Excel에서 Data를 읽는데 가장 편하다가 생각하기 때문에 해당 기능을 사용하고 있다.

 

자 그럼 해당 Input Data를 어떻게 사용할 것인지 고민해보자.

 

< DataFrame 자체로 Input Data 사용하기 >

 

먼저, Input Data를 읽어들이면 다음과 같이 변수에 저장된다. (Input_df)

print(Input_df)

   a  b  c
0  2  5  6
1  4  7  2
2  5  6  7

우리가 Input Data를 읽어들일 때 중요한것이 있다.

 

1. 만들려고 하는 코드에서 사용하는 "변수" 가 무엇인가

     1) 여기서는 a, b, c 의 값.

     2) [a, b, c] 는 DataFrame의 column index라고 하는데 추후에 사용자의 마음대로 바꿀 수 있다.

 

2. 전체 Input의 총 갯수는 무엇인가.

     1) 여기서는 총 3개

     2) noe 라는 변수에 Input 갯수를 넣어볼 것이다.

 

print("----------------------------")
print("Input data")
print("----------------------------")
print(Input_df)                                    # Input Data Frame
print("")

print("----------------------------")
print("Input Data의 갯수 산정")
print("----------------------------")
noe = len(Input_df)                                # Input Data 의 전체 갯수
print(noe)
print("")

print("----------------------------")
print("Input Data의 a column list")
print("----------------------------")
print(Input_df['a'])                               # Input Data 중 "a" 열의 값
print("")


print("----------------------------")
print("a 열의 2번째 값 읽어보기")
print("----------------------------")
print(Input_df['a'][1])                            # a 열의 2번째 값 읽기
print("")

 

위와 같이 코딩을 해보자.... 그럼 아래와 같은 결과를 얻을 수 있다.!!

----------------------------
Input data
----------------------------
   a  b  c
0  2  5  6
1  4  7  2
2  5  6  7

----------------------------
Input Data의 갯수 산정
----------------------------
3

----------------------------
Input Data의 a column list
----------------------------
0    2
1    4
2    5

----------------------------
a 열의 2번째 값 읽어보기
----------------------------
4

 

자 그럼 여기서 우리는 2차방정식 계산을 위한 모든 정보를 얻었다. 또한, 2차 방정식 해결을 위한 코딩의 로직을 고민해 보면 다음과 같다.

 

1. 총 3개의 2차 방정식을 푼다.

     1) noe = 3

     2) 오.. 100개가 되어도 한번에 계산될 수 있겠군...

 

2. 2차 방정식의 해결을 위한 변수 a, b, c 를 다룰 수 있다.

     1) 2차 방정식 근의공식을 알고 있다.

     2) 각 방정식 당 a, b, c 값을 뽑아 낼 수 있네...?

     3) 어? 사칙연산 되는지 한번 해볼까..?

     4) Input_df['a'][0] + Input_df['b'][0] + Input_df['c'][0] = 2 + 5 + 6 = 13     (여러분들도 해보면 이해가 쉬울 것이다.)

 

다음과 같이 코딩을 한번 해보자

for i in range(0, noe):
    print("")
    print("a + b + c 값 구해보자 : " + str(i) + "번째")
    sum_value = Input_df['a'][i] + Input_df['b'][i] + Input_df['c'][i]      # 각 식의 a + b + c 값.
    print(sum_value)

 

그러면 아래와 같은 결과를 얻을 수 있다.

a + b + c 값 구해보자 : 0번째
13

a + b + c 값 구해보자 : 1번째
13

a + b + c 값 구해보자 : 2번째
18

 

for 를 사용하여 반복적인 계산을 한번에 할 수 있으며, 위의 코딩을 한번씩 해보면서 어떤 의미를 갖는지 고민을 하면 더 좋을 것 같다. ( 곱하기도 해본다면..? )

728x90
반응형