Pandas
- 데이터를 효과적으로 처리하고 보여줄 수 있도록 도와주는 라이브러리
- Numpy와 함께 사용되어 다양한 연계적인 기능을 제공
- 인덱스에 따라 데이터를 나열하므로 사전 자료형에 가까움
- 시리즈를 기본적인 자료형으로 사용
- 엑셀과 유사
- 시리즈 (Series)
: 인덱스와 값으로 구성
{
name : '철수',
age : '20'
}
0 : 철수, 20
1 : 홍길동, 40
import pandas as pd
array=pd.Series(['사과', '바나나', '당근'], index=['a', 'b', 'c'])
print(array)
# a 사과
# b 바나나
# c 당근
print(array['a']) #사과
import pandas as pd
data = {
'a': '사과',
'b': '바나나',
'c': '당근'
}
# Dict 자료형을 Series로 바꾸기
array = pd.Series(data)
print(array['a']) #사과
- 데이터 프레임
- 다수의 시리즈를 모아 처리하기 위한 목적으로 사용
- 표 형태로 데이터를 손쉽게 출력하고자 할 때 사용
import pandas as pd
word_dict = {
'Apple': '사과',
'Banana': '바나나',
'Carrot': '당근'
}
frequency_dict = {
'Apple': 3,
'Banana': 5,
'Carrot': 7
}
word = pd.Series(word_dict)
frequency = pd.Series(frequency_dict)
# 이름(Name): 값(Values)
summary = pd.DataFrame({
'word': word,
'frequency': frequency
})
print(summary)
- 시리즈의 연산
import pandas as pd
word_dict = {
'Apple': '사과',
'Banana': '바나나',
'Carrot': '당근'
}
frequency_dict = {
'Apple': 3,
'Banana': 5,
'Carrot': 7
}
importance_dict = {
'Apple': 3,
'Banana': 2,
'Carrot': 1
}
word = pd.Series(word_dict)
frequency = pd.Series(frequency_dict)
importance = pd.Series(importance_dict)
summary = pd.DataFrame({
'word': word,
'frequency': frequency,
'importance': importance
})
score = summary['frequency'] * summary['importance']
summary['score'] = score
print(summary)
- 데이터 프레임 슬라이싱
import pandas as pd
word_dict = {
'Apple': '사과',
'Banana': '바나나',
'Carrot': '당근',
'Durian': '두리안'
}
frequency_dict = {
'Apple': 3,
'Banana': 5,
'Carrot': 7,
'Durian': 2
}
importance_dict = {
'Apple': 3,
'Banana': 2,
'Carrot': 1,
'Durian': 1
}
word = pd.Series(word_dict)
frequency = pd.Series(frequency_dict)
importance = pd.Series(importance_dict)
summary = pd.DataFrame({
'word': word,
'frequency': frequency,
'importance': importance
})
print(summary)
# 이름을 기준으로 슬라이싱
print(summary.loc['Banana':'Carrot', 'importance':])
# 인덱스를 기준으로 슬라이싱
print(summary.iloc[1:3, 2:])
- 데이터 프레임 연산
import pandas as pd
word_dict = {
'Apple': '사과',
'Banana': '바나나',
'Carrot': '당근',
'Durian': '두리안'
}
frequency_dict = {
'Apple': 3,
'Banana': 5,
'Carrot': 7,
'Durian': 2
}
importance_dict = {
'Apple': 3,
'Banana': 2,
'Carrot': 1,
'Durian': 1
}
word = pd.Series(word_dict)
frequency = pd.Series(frequency_dict)
importance = pd.Series(importance_dict)
summary = pd.DataFrame({
'word': word,
'frequency': frequency,
'importance': importance
})
print(summary)
summary.loc['Apple', 'importance'] = 5 # 데이터의 변경
summary.loc['Elderberry'] = ['엘더베리', 5, 3] # 새 데이터 삽입
print(summary)
- 엑셀로 내보내기/불러오기
import pandas as pd
word_dict = {
'Apple': '사과',
'Banana': '바나나',
'Carrot': '당근'
}
frequency_dict = {
'Apple': 3,
'Banana': 5,
'Carrot': 7
}
word = pd.Series(word_dict)
frequency = pd.Series(frequency_dict)
summary = pd.DataFrame({
'word': word,
'frequency': frequency
})
summary.to_csv("summary.csv", encoding="utf-8-sig")
saved = pd.read_csv("summary.csv", index_col=0)
print(saved)
https://youtu.be/9PF4BAFh-J8
위 영상을 참고하여 작성