728x90
반응형

* 본 포스팅은 주피터 노트북에서 진행했다.

 

딕셔너리 객체를 생성한다

person = {'이름':'홍길동','나이':26,'몸무게':87}
person #딕셔너리 객체 만들기

 

컬럼 값 가져오기

person['이름']
person.get('이름')

 

popitem()

person.popitem() #랜덤하게 key와 value를 삭제

clear()

person.clear() #빈객체 만들기
person

 


딕셔너리 객체가 아래의 사진인 상태에서 for문을 통해 key와 value의 값을 어떻게 불러오는지 확인해 보자

 

key = person.keys()
value=person.values()
item=person.items() #key와 value를 tuple로 반환
for i in value:
        print(i)

 

item은 key와 value 둘다 tuple로 반환한다.

for i in item:
        print(i)

 

key를 이용하여 key와 value를 반환하였다.

for key in person:
    print('{} : {}'.format(key, person[key]))

다른 방법도 있다!

for key,value in person.items():
    print('{} : {}'.format(key, person[key]))

 

728x90
반응형
728x90
반응형

 

* 본 포스팅은 주피터 노트북을 사용하였다.

 

person ={'이름':['홍길동','홍말자','김개똥','홍길동','김개똥'],
         '나이':[26, 22 ,12,12,22],
         '몸무게':[87,11,13,17,19],
         'age':[12,23,34,23,17], 
         'sex':['M','F','M','F','M']
        }
person

 

생성된 딕셔너리에 '이름' 키값을 가져와 보자

 

 

person의 나이의 총합 구하기

sum=0
for i in person['나이']:
    sum +=i
print(sum)

 

 

map을 이용하여 2차원 리스트 값 더하기

 

생성된 2차원 리스트에서 나이, 몸무게, age 끼리 더한 결과를 도출해 보자

def myF(i):
    sum=0
    for j in i:
        sum+=j
    return sum
list(map(myF,arr))

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다.

 

딕셔너리를 생성한다.

 

나이 컬럼을 수정한다.

 

없는 키값을 추가해 보자.

 

 

딕셔너리를 다시 생성한다!

데이터 프레임으로 변환한다.

 

describe() 메서드는 다양한 통계량을 요약해준다.

 

성별 기준으로 나이의 총합 구하기

group1 = df['나이'].groupby(df['sex'])

sum()은 합계, mean()은 평균을 뜻한다.

 

위 방법과 다른 표현으로도 나타낼 수 있다.

df['나이'].groupby(df['sex']).agg([
                                    ('총합','sum'),
                                    ('최대','max'),
                                    ('최소','min'),
                                    ('사용자 정의',myFuncAgg),
                                     ('평균','mean')
                                    ])

 

이름으로 그룹화하고 몸무게의 통계치(집계함수/aggregation)을 출력하기

person ={'이름':['홍길동','홍말자','김개똥','홍길동','김개똥'],
         '나이':[26, 22 ,12,12,22],
         '몸무게':[87,11,13,17,19],
         'age':[12,23,34,23,17], 
         'sex':['M','F','M','F','M']
        }
person
df=pd.DataFrame(person)
print(df)

df['몸무게'].groupby(df['이름']).agg([
                                    ('총합','sum'),
                                    ('최대','max'),
                                    ('최소','min'),
                                     ('평균','mean')
                                    ])

 

group으로 그룹화하고 a의 통계치(집계함수/aggregation) 출력하기

df1 = pd.DataFrame(np.random.rand(4,4), columns=list('abcd'))
df1['group'] = [0,0,1,1]
print(df1)

df1.groupby('group').agg({'a':['sum','max'],
                         'b':'mean',
                          'c':'sum',
                          'd':lambda x:x.max()-x.min()
                         })

 

728x90
반응형

+ Recent posts