본문 바로가기
파이썬

파이썬 두 개의 데이터 프레임 모두에 NaN 만있는 Timeindex를 얻으려면 어떻게해야합니까?

by º기록 2020. 9. 14.
반응형

두 개의 데이터 프레임 X와 Y가 있습니다 (둘 다 시간 인덱스가 있음). 둘 다 교차점이 있지만 다른 하나가 반드시 포함하는 것은 아닙니다.

교차 와 둘 다 행만 NaN 인 timeindex를 얻는 방법은 무엇입니까?

재생할 수 있는:

import numpy as np, pandas as pd
X = pd.DataFrame( {"a":[1,np.nan,3,4,5,np.nan,7,8,100,9,np.nan,np.nan,12,13,14,15],"b":[1,np.nan,3,4,5,6,7,8,101,9,np.nan,np.nan,12,13,np.nan,15]}, 
                    index =pd.DatetimeIndex(["2019-07-18 08:51:00", "2019-07-18 08:52:00","2019-07-18 08:53:00","2019-07-18 08:54:00","2019-07-18 08:55:00","2019-07-18 08:56:00","2019-07-18 08:57:00","2019-07-18 08:58:00","2019-07-18 08:58:30","2019-07-18 08:59:00","2019-07-18 09:00:00","2019-07-18 09:01:00","2019-07-18 09:02:00","2019-07-18 09:03:00","2019-07-18 09:04:00","2019-07-18 09:05:00" ]))
Y = pd.DataFrame({"c":[0,1,np.nan,3,4,5,6,7,8,9,np.nan,np.nan,12,13,14,15,16],"d":[0,1,np.nan,3,4,5,6,7,8,9,np.nan,np.nan,12,13,14,np.nan,16]}, 
                    index =pd.DatetimeIndex(["2019-07-18 08:50:00","2019-07-18 08:51:00", "2019-07-18 08:52:00","2019-07-18 08:53:00","2019-07-18 08:54:00","2019-07-18 08:55:00","2019-07-18 08:56:00","2019-07-18 08:57:00","2019-07-18 08:58:00","2019-07-18 08:59:00","2019-07-18 09:00:00","2019-07-18 09:01:00","2019-07-18 09:02:00","2019-07-18 09:03:00","2019-07-18 09:04:00","2019-07-18 09:05:00","2019-07-18 09:06:00" ]))

# expected result: pd.DatetimeIndex(['2019-07-18 08:52:00', '2019-07-18 09:00:00', '2019-07-18 09:01:00'])

편집하다: 이것은 작동했습니다.

intersection_X_Y = X.index.intersection(Y.index)  
result  = X.loc[intersection_X_Y].isnull().all(1) & Y.loc[intersection_X_Y].isnull().all(1)
print("result",result [result ].index)

 

해결 방법

 

이 시도

i_X = X.index[X.join(Y).isna().all(1)]

Out[20]:
DatetimeIndex(['2019-07-18 08:52:00', '2019-07-18 09:00:00',
               '2019-07-18 09:01:00'],
              dtype='datetime64[ns]', freq=None)

 

참조 페이지 https://stackoverflow.com/questions/63756915

 

 

반응형

댓글