2017-11-05 4 views
0

좋아요. 그래서이 방대한 데이터를 수백만 행을 설정하고 loc == 및 isin으로 데이터를 필터링하는 데 문제가 있었으므로 그 크기로 인해 용의자로 생각합니다. 다중 색인 pivot_table을 수행 한 다음 작은 피벗 테이블을 필터링하십시오. 그러나 피벗을 수행 할 때 분명히 다음과 같은 결과를 얻습니다.다중 인덱스 채우기 groupby pandas

foo 2011 354 
     2013 659 
     2014 655 
    bar 2012 645 
     2013 665 

foo와 bar 아래에 공백이있을 수 있습니다. 만약 이것들이 nans라면 그냥 nans를 채울 수 있습니다. 그러나 이것들은 공백입니다. 나는 이것을 전에 보았을 것입니다. 그러나 그것을하는 법을 기억하지 못합니다, foo와 bar 아래의 공간을 채우는 방법은 무엇입니까? 일단 이것을 전체 데이터 프레임으로 만들었 으면이 필터를 걸러 낼 수 있습니까?

편집 나는 왜 내 원래 코드가 실행되지 않을지 잘 모르겠다.

df2 = df1.loc[Mort_Data['COD_type'].isin(['T','U','V','W','Y','X'])] 
+0

'df.loc [ 'foo']'또는'df.loc [('foo', 2011)] ' – Wen

+0

나는 단지 디스플레이가 아니라고 생각합니다. – jezrael

+0

미안 데이터를 피벗하기 전후에 미안합니까? 데이터를 피벗하기 전에 df.loc [ 'Year']. isin ([ '2014'])]을 시도했지만 데이터가 너무 크다고 가정합니다. –

답변

0

foo의 모든 공백은 실제로 foo이며 bar의 경우 동일합니다. 다중 인덱싱을 사용하면 쉽게 시각화 할 수 있습니다. reset_index()를 사용하면 내가 의심하는 것이 사실이라면이를 볼 수 있습니다.

다른 문제는 수백만 행은 그다지 크지 않지만 데이터의 크기 때문에 실제로 문제가 발생하면 일괄 처리 할 수 ​​있습니다. 이를위한 많은 옵션이 있습니다.