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 를 사용하여 반복적인 계산을 한번에 할 수 있으며, 위의 코딩을 한번씩 해보면서 어떤 의미를 갖는지 고민을 하면 더 좋을 것 같다. ( 곱하기도 해본다면..? )
'■ 코딩 ■ > 02 Python 실무적용' 카테고리의 다른 글
(Input) Python Input Data 이해하기 - 2 (Numpy) (3) | 2023.02.24 |
---|---|
(Input) Python과 Excel로 Input Data 읽어들이기 (3) | 2023.01.24 |