일부 배경 : 내 코드는 사용자 입력을 받아 내 DF에 적용하여 특정 행을 제거합니다. 이 프로세스는 사용자가 원하는만큼 반복됩니다.while 루프 (Python3, Pandas) 중 팬더 DF 업데이트
data = ({'hello':['the man','is a','good guy']})
df = pd.DataFrame(data)
def func():
while True:
n = input('Words: ')
if n == "Done":
break
elif n != "Done":
pattern = '^'+''.join('(?=.*{})'.format(word) for word in n.split())
df[df['hello'].str.contains(pattern)==False]
을 내가 변화 때문에 각 루프의 끝에서 DF를 업데이트하려면 어떻게 : 불행하게도, 나는 그것이 변화가 만들어지고 유지하도록 내가 만든 while 루프에서 내 DF를 업데이트하는 방법을 잘 모르겠습니다 머물러있게 만들어지는거야?
사용'loc'로
func
를 시작하면func
전화를 호출 할 때func
의 끝 부분에 문제가 두는
return df
은 그것을 좋아합니까 : df.loc [df [ 'hello']. str.contains (pattern) == False, 'col'] = newVal' – EdChum이 코드의 작동 방식을 잘 모르시겠습니까? 괜찮 으면 조금 더 설명해 주시겠습니까? – user3682157
'loc'는 라벨 기반 색인을 사용합니다. 문서를 참조하십시오 : http://pandas.pydata.org/pandas-docs/stable/indexing.html#different-choices-for-indexing-loc-iloc-and-ix – EdChum