이렇게 DataFrame이 있다고 가정 해 보겠습니다. 내 특정한 경우 내가 아닌 각 제로 블록의 수단을 계산하려는팬더에서 블록 평균을 계산하는 방법 DataFrame
a b c d e
0 0.000000 0.000000 0.000000 0.000000 0.976492
1 0.000000 3.589563 0.000000 0.400287 0.000000
2 0.000000 0.000000 0.247323 0.000000 0.000000
3 0.000000 0.000000 0.000000 0.079501 0.000000
4 0.136868 0.000000 0.223572 0.153744 0.000000
5 0.000000 0.000000 0.494390 0.311590 0.000000
6 0.000000 0.000000 0.756897 0.000000 0.039769
7 0.000000 0.000000 0.000000 1.006561 0.000000
8 0.651060 0.588797 0.000000 0.000000 0.028943
9 1.040841 0.000000 0.000000 0.000000 0.879489
에서
df = pd.DataFrame(np.random.randn(10,5), columns=['a','b','c','d','e'])
idx = np.random.randint(0,2,(10,5))
df = abs(df * idx)
.
명확화0 0.000000
1 0.400287
2 0.000000
3 0.11662267564906763
4 0.11662267564906763
5 0.11662267564906763
6 0.000000
7 1.006561
8 0.000000
9 0.000000
: 예를 들어, 제 마지막 열 (D 열) 폼 일련 수득 것 I은 비 - 제로 블록 무슨 뜻인지가
이다 그런 특정 열에 대해 연속적인 0이 아닌 항목이있는 블록. 예를 들어, 열 a는 2 개의 블록을 가지며, 하나는 index = 4, value = 0.136868에서 발생하고 다른 하나는 index = 8,9 및 value = [0.651060,1040841]에서 발생합니다. 나는 각 블록의 평균을 원한다.
명확화 2 컬럼 (A)의 경우 는 출력 위치 8,9 마지막 두 항목의 평균값을 산출
0 0.000000
1 0.000000
2 0.000000
3 0.000000
4 0.136868
5 0.000000
6 0.000000
7 0.000000
8 0.8459504999999999
9 0.8459504999999999
것이다.
'0이 아닌 각 블록의 의미'에 대해 자세히 설명 할 수 있습니까? 왜 0 블록이 아닌 경우 출력이 '0'입니까? – jezrael
@ jezrael 제 업데이트를 한번보세요. 감사! – zsljulius
감사합니다. 그러나 출력이 왜''(float1, float2, float3, float4, float5), index = [ 'a', 'b', 'c', 'd', 'e']))'? 필요성 계산은 열을 의미하기 때문에? – jezrael