로그 파일의 형식을 지정하는 작업을 진행 중이며 마지막으로 추가하려는 범주와 숫자가 동일한 열에있는 다음 데이터 프레임 샘플에 도달했습니다.
df = pd.DataFrame(dict(a=['Cat. A',1,1,3,'Cat. A',2,2,'Cat. B',3,5,2,6,'Cat. B',1,'Cat. C',4]))
>>> a
0 Cat. A
1 1
2 1
3 3
4 Cat. A
5 2
6 2
7 Cat. B
8 3
9 5
10 2
11 6
12 Cat. B
13 1
14 Cat. C
15 4
각 범주 아래의 모든 숫자를 합산하면 얻고 싶습니다.
Cat. A= 1+1+3+2+2 = 9
Cat. B= 3+5+2+6+1 = 17
Cat. C= 4
나는 고전적인 방식으로 모든 파일을 처리하는 방법을 알고 있지만 각 범주의 행 수는 가변적 일 수 있다는 점을 고려할 때 가장 비단뱀적인 방식으로 수행하는 방법을 알고 싶습니다. 카테고리가 각 데이터 프레임에 나타나는 시간도 다를 수 있습니다.
우리가 사용할 수있는 pd.to_numeric
비 숫자 필드 표시 nan
사용을 Series.mask
하고 Series.notna
다음 그룹에 사용할. 그런 다음GroupBy.sum
a = pd.to_numeric(df['a'], errors='coerce')
g = df['a'].mask(a.notna()).ffill()
a.groupby(g).sum()
Cat. A 9.0
Cat. B 17.0
Cat. C 4.0
Name: a, dtype: float64
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다