빈도수 알아보기
import pandas as pd
In [1]: def frequencyS(str):
dict = {}
for n in str:
keys = dict.keys()
if n in keys:
dict[n] += 1
else:
dict[n] = 1
re=pd.DataFrame([dict])
return (re)
In [2]: frequencyS("apple")
Out[2]:
a | e | l | p | |
---|---|---|---|---|
0 | 1 | 1 | 1 | 2 |
파이썬의 자료형 중 사전(dictionary)은 ‘인덱스(키):값’으로 구성됩니다. 또한 사전의 키는 다음 함수에 의해 호출할 수 있습니다.
사전객체.keys()
또한 사전의 키에 값을 할당하여 사전의 원소들을 입력할 수 있고 그 값은 수정될 수 있습니다.
사전[키]=값
위의 사전의 특성을 적용한 것으로 다음의 순서로 실행됩니다.
빈 사전으로 출발합니다. 처음반복에서 n은 ‘a’가 되지만 keys의 값은 없습니다. 그러므로 dict[‘a’]=1이 됩니다. 다음반복에서는 즉, n은 ‘p’가 되고 keys=a가 됩니다. 그러므로 dict= {'a': 1, 'p': 1}가 됩니다. 다음반복에서 n=’p’가 되고 keys=[‘a’, ‘p’]입니다. 그러므로 dict={'a': 1, 'p': 2}가 됩니다.이러한 명령이 문자열의 길이만큼 반복되는 것입니다.
위 함수는 수치형으로 구성되어 있는 리스트에도 적용 됩니다. 또한 사전형식의 결과는 pandas 객체인 DataFrame 형식으로 반환됩니다.
In [3]: x=[2,2,6,9,8,6, 7, 9, 8,2]
In [3]: frequencyS(x)
Out[3]:
2 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|
0 | 3 | 2 | 1 | 2 | 2 |
댓글
댓글 쓰기