여러 변수 (온도, 압력 등)에 대해 다른 기상대에 기초한 데이터 집합파이썬 팬더 - NaN이 아닌 NaN이
stationID | Time | Temperature | Pressure |...
----------+------+-------------+----------+
123 | 1 | 30 | 1010.5 |
123 | 2 | 31 | 1009.0 |
202 | 1 | 24 | NaN |
202 | 2 | 24.3 | NaN |
202 | 3 | NaN | 1000.3 |
...
난이 난 것의 수를 표시하는 변수 피봇 테이블을 구축 NaN이와 기상 관측소 당 비 NaN을, 등 그 수를 표시 할 피벗 테이블을 만들려면 :
내가 (성가신 방법으로) 작동하는, 지금까지 한 일을 보여 아래stationID | nanStatus | Temperature | Pressure |...
----------+-----------+-------------+----------+
123 | NaN | 0 | 0 |
| nonNaN | 2 | 2 |
202 | NaN | 1 | 2 |
| nonNaN | 2 | 1 |
...
에 대한 온도. 그러나 위의 그림과 같이 두 변수 모두에서 어떻게 같은 결과를 얻을 수 있습니까?
import pandas as pd
import bumpy as np
df = pd.DataFrame({'stationID':[123,123,202,202,202], 'Time':[1,2,1,2,3],'Temperature':[30,31,24,24.3,np.nan],'Pressure':[1010.5,1009.0,np.nan,np.nan,1000.3]})
dfnull = df.isnull()
dfnull['stationID'] = df['stationID']
dfnull['tempValue'] = df['Temperature']
dfnull.pivot_table(values=["tempValue"], index=["stationID","Temperature"], aggfunc=len,fill_value=0)
출력은 다음과 같습니다
----------------------------------
tempValue
stationID | Temperature
123 | False 2
202 | False 2
| True 1
당신은'.stack으로 마무리 할 수 있습니다 (레벨 = 1)' – root
@root, 그래, 그거야, 감사합니다 제비! – MaxU
굉장, @MaxU 및 @root! '.stack (level = 1)'은 케이크 위에 담겨있었습니다! (그냥 가장 가까운 정수로 출력을 반올림하는 방법이 있었으면 좋겠다 .' round'와'int'를 사용하여 시도했지만 작동하지 않았다.) – mmeclimate