제로베이스 데이터 취업 스쿨 3주차 스터디노트 2호
강의에서 스테로이드 맞은 엑셀이라고 해서 엄청 웃었다.
근데 뭔가 스팀팩이라고 말하면 더 느낌이 오는 것 같아서
맘대로 스팀팩으로 바꿔봤다ㅋㅋ
Pandas 덕에 Python은 데이터 핸들링을 R 급으로 할 수 있다.
기초를 본다면 Series, Dataframe을 보면 된다.
두가지 다 python class이고, 이 두 class를 기반으로 운영된다.
일단 납득 안되는 부분... 1차원의 다차원 array(One-dimensonal ndarray)가 대체 말인지 방구인지?
일종의 array인데 label이 달려있는 형태로 보인다.
그런데 label이 hashable인데 not unique하다고...? (동공지진)
test = pd.Series([1, 2, 3, 4, 5], index=["x", "x", "x", "y", "y"])
test["x"]
x 1
x 2
x 3
dtype: int64
인덱스가 중복이 된다...!
hashable하다는걸 잘 모르겠다.
test["x"]
를 했을 때,
O(1)의 시간복잡도 내에서 데이터를 획득하는게 가능하다는건가?
내가 아는 Hash는 이건데...
또한, 두 Series 사이에 연산이 되는데,
두 Series의 길이가 달라도 괜찮고,
결과는 두 Series label을 합친 것이 정렬된 형태라고 한다.
문서가 굉장히 잘 쓰여져 있는데?
링크
One-dimensional ndarray with axis labels (including time series).
Labels need not be unique but must be a hashable type. The object supports both integer- and label-based indexing and provides a host of methods for performing operations involving the index. Statistical methods from ndarray have been overridden to automatically exclude missing data (currently represented as NaN).
Operations between Series (+, -, /, *, **) align values based on their associated index values– they need not be the same length. The result index will be the sorted union of the two indexes.
list를 담고 있는 dictionary의 형태이다.
# 요런 느낌
dataframe_look = {
"col1": [1, 2, 3, 4, 5],
"col2": ["a", "b", "c", "d", "e"]
}
list 대신 pandas Series instance를 담고 있을테고,
dictionary가 아닌 DataFrame class 기반 instance인 것
링크
Two-dimensional, size-mutable, potentially heterogeneous tabular data.
Data structure also contains labeled axes (rows and columns). Arithmetic operations align on both row and column labels. Can be thought of as a dict-like container for Series objects. The primary pandas data structure.