팬더에서 발생 횟수를 계산하는 가장 효율적인 방법은 무엇입니까?
큰 (약 12M 행) 데이터 프레임 df가 있습니다.
df.columns = ['word','documents','frequency']
따라서 다음은 적시에 실행되었습니다.
word_grouping = df[['word','frequency']].groupby('word')
MaxFrequency_perWord = word_grouping[['frequency']].max().reset_index()
MaxFrequency_perWord.columns = ['word','MaxFrequency']
그러나 실행하는 데 예기치 않은 시간이 오래 걸립니다.
Occurrences_of_Words = word_grouping[['word']].count().reset_index()
내가 여기서 뭘 잘못하고 있니? 큰 데이터 프레임에서 발생 횟수를 계산하는 더 좋은 방법이 있습니까?
df.word.describe()
꽤 잘 실행 되었기 때문에이 Occurrences_of_Words 데이터 프레임을 구축하는 데 시간이 오래 걸릴 것으로 예상하지 못했습니다.
추신 : 대답이 분명하고이 질문에 대해 저에게 불이익을 줄 필요가 있다고 생각되면 대답도 포함하십시오. 감사합니다.
df['word'].value_counts()
봉사해야 한다고 생각 합니다. groupby 기계를 건너 뛰면 시간을 절약 할 수 있습니다. count
.NET보다 훨씬 느린 이유를 잘 모르겠습니다 max
. 둘 다 누락 된 값을 피하기 위해 시간이 걸립니다. (와 비교하십시오 size
.)
어쨌든 value_counts는 당신의 말과 같은 객체 유형을 처리 하도록 특별히 최적화 되었으므로 그보다 훨씬 더 잘할 것 같지 않습니다.
pandas dataFrame의 열에서 범주 형 데이터의 빈도를 계산하려면 다음을 사용하십시오. df['Column_Name'].value_counts()
- 소스 .
이전 답변에 추가되었습니다. 실제 데이터를 처리 할 때 null 값이있을 수 있으므로 옵션 dropna=False
( 기본값은True
) 을 사용하여 계수에 포함하는 것도 유용합니다.
예 :
>>> df['Embarked'].value_counts(dropna=False)
S 644
C 168
Q 77
NaN 2
나는 df.column에 "value"가 있는지 찾기 위해 여기에 왔는데, 이것은 나를 위해 일했습니다.
"value" in df["Column"].values
'developer tip' 카테고리의 다른 글
앵커 (a) 태그에서 로컬 href 값 가져 오기 (0) | 2020.08.23 |
---|---|
한 번에 여러 프레임을 부트 스트랩 캐 러셀 (0) | 2020.08.23 |
C # 분할 문자열이지만 분할 문자 / 구분자 유지 (0) | 2020.08.23 |
IIS7 설정 파일 위치 (0) | 2020.08.23 |
셀레늄에서 알려진 요소의 상위 요소 선택 (0) | 2020.08.23 |