2017-10-26 4 views
0

그래서 내가 달성하려고하는 것은 기본적으로 다른 열을 기반으로하는 열의 빈 행을 채우는 것입니다. 그래서 여기 내 데이터 프레임이 어떻게 생겼는지에 대한 스 니펫이 있습니다.또 다른 기준을 기반으로 빈칸 채우기

Person_Name  State_Abbrev  Bool 
george, John CT     NO 
george, John PA     NO 
george, John. NY     NO 
adam, Ross  NY     YES 
adam, Ross  CA     NO 

그래서 내가 원하는 것을 그 사람이 다음 새 열을하고 채우의 PERSON_NAME 열을보고 특정 PERSON_NAME 각각에 대해 부울 열이 더 말한다면 말을하고 어떤 예들이 없습니다입니다 column이라는 단어가 있지만 Person_Name에 해당 person_name에 대해 적어도 하나의 행이있는 경우 해당 사용자에 대해 아무 것도 입력하지 말고 내 데이터 프레임에서 다음 사람으로 이동하십시오.

+0

안녕, 당신은 내 대답에서 필요로하는 더 명확한 설명이 있다면 알려 주시기 바랍니다. 감사. –

+0

실은 그 대답을 받아들이려는 것이 었습니다. 정확히 말 그대로 제가 필요한 것입니다. – Cannon

답변

1

당신은 groupby + transform + isin 찾고 :

df['New'] = df.groupby('Person_Name').Bool\ 
     .transform(lambda x: 'Question' if ~x.isin(['YES']).any() else '') 

df 

    Person_Name State_Abbrev Bool  New 
0 george, John   CT NO Question 
1 george, John   PA NO Question 
2 george, John.   NY NO Question 
3  adam, Ross   NY YES   
4  adam, Ross   CA NO