python - matplotlib title




FutureWarning을 0.21.0으로 슬라이싱하는 팬더 (2)

이 오류는 목록에 새 열이 포함되어있을 때 .append 호출과 함께 발생합니다. 이것을 피하려면

용도:

df=df.append(pd.Series({'A':i,'M':j}), ignore_index=True)

대신에,

df=df.append([{'A':i,'M':j}], ignore_index=True)

전체 오류 메시지 :

C : \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexing.py : 1472 : FutureWarning : 목록 좋아요를 .loc 또는 누락 된 레이블로 전달하면 앞으로 KeyError가 높아지며 .reindex ( )를 대안으로 사용합니다.

https://stackoverflow.com/a/50230080/207661 감사드립니다.

데이터 프레임의 하위 집합을 선택하고 일부 열만 선택하고 행을 필터링하려고합니다.

df.loc[df.a.isin(['Apple', 'Pear', 'Mango']), ['a', 'b', 'f', 'g']]

그러나 오류가 나타납니다.

Passing list-likes to .loc or [] with any missing label will raise
KeyError in the future, you can use .reindex() as an alternative.

지금 슬라이스하고 필터링하는 올바른 방법은 무엇입니까?


이것은 v0.21.1 에서 소개 된 변경 사항이며, docs 에서 자세히 설명되었습니다.

이전에는 하나 이상의 레이블이없는 레이블 목록을 선택하면 누락 된 레이블에 대해 NaNNaN 하여 항상 성공했습니다. 그러면 이제 FutureWarning 이 표시됩니다. 장래에 KeyError ( GH15747 )가 발생합니다. 이 경고는 레이블이 하나 이상없는 레이블 목록을 전달할 때 .loc[] 또는 [[]] 을 사용하기 위해 DataFrame 또는 Series 에서 트리거됩니다.

예를 들어,

df

     A    B  C
0  7.0  NaN  8
1  3.0  3.0  5
2  8.0  1.0  7
3  NaN  0.0  3
4  8.0  2.0  7

당신이하고있는 것처럼 어떤 종류의 슬라이스를 해보십시오 -

df.loc[df.A.gt(6), ['A', 'C']]

     A  C
0  7.0  8
2  8.0  7
4  8.0  7

문제 없어. 이제 C 를 존재하지 않는 열 레이블로 바꾸십시오.

df.loc[df.A.gt(6), ['A', 'D']]
FutureWarning: Passing list-likes to .loc or [] with any missing label will raise
KeyError in the future, you can use .reindex() as an alternative.

     A   D
0  7.0 NaN
2  8.0 NaN
4  8.0 NaN

그래서, 당신의 경우, loc 전달하는 열 레이블 때문에 오류가 발생합니다. 그들에 대해 다시 한번 살펴보십시오.







slice