Pandas 데이터 프레임의 데이터 유형에 따라 NaN 값을 채우는 방법은 무엇입니까?

매니쉬 Chaudhary

모두에게 인사합니다. 열 데이터 유형에 따라 NaN 값을 정리하고 채우는 데 필요한 엑셀 파일이 있습니다. 열 데이터 유형이 객체 인 경우 해당 열에 "NULL"을 채워야하고 데이터 유형이 정수이거나 부동 소수점 0을 채워야하는 경우 그 열에서.

지금까지 두 가지 방법을 시도했지만 운이 좋지 않습니다.

df = pd.read_excel("myExcel_files.xlsx")

데이터 유형별로 열을 선택하기 위해 bulit 방법 사용

df.select_dtypes(include='int64').fillna(0, inplace=True)

df.select_dtypes(include='float64').fillna(0.0, inplace=True)

df.select_dtypes(include='object').fillna("NULL", inplace=True)

그리고 내가 얻는 출력은 오류가 아니라 경고 이며 데이터 프레임에 변화가 없습니다.

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py:4259: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  **kwargs

첫 번째는 슬라이스 오류이므로 한 번에 한 열씩 수행한다고 생각했습니다. 여기에 코드가 있습니다.

df = pd.read_excel("myExcel_files.xlsx")

#get the list of all integer columns
int_cols = list(df.select_dtypes('int64').columns)

#get the list of all float columns
float_cols = list(df.select_dtypes('float64').columns)

#get the list of all object columns
object_cols = list(df.select_dtypes('object').columns)

#looping through if each column to fillna
for i in int_cols:
    df[i].fillna(0,inplace=True)

for f in float_cols:
    df[f].fillna(0,inplace=True)

for o in object_cols:
    df[o].fillna("NULL",inplace=True)

두 방법 모두 작동하지 않습니다. 도움이나 제안에 감사드립니다. 감사합니다- 매니쉬

존 클레멘트

select_dtypes열을 사용 하고 반복 하는 대신 .dtypesDF를 가져 와서 float64의 wth 0.0과 객체를 "NULL"로 대체 할 수 있다고 생각합니다. 일반적으로 int64에는 누락 된 값이 없기 때문에 걱정할 필요가 없습니다. 채우기 (사용중인 경우 pd.NA또는 nullable int 유형 이 아닌 경우 )이므로 다음과 같은 단일 작업을 수행 할 수 있습니다.

df.fillna(df.dtypes.replace({'float64': 0.0, 'O': 'NULL'}), inplace=True)

열에 s downcast='infer'가 될 수있는 것이 있으면 int64s로 float64끝나 도록 추가 할 수도 있습니다 int64. 예를 들면 다음과 같습니다.

df = pd.DataFrame({
    'a': [1.0, 2, np.nan, 4],
    'b': [np.nan, 'hello', np.nan, 'blah'],
    'c': [1.1, 1.2, 1.3, np.nan]
})

그때:

df.fillna(df.dtypes.replace({'float64': 0.0, 'O': 'NULL'}), downcast='infer', inplace=True)

당신에게 줄 것입니다 (참고 열 a은 int로 다운 캐스트되었지만 c부동 상태로 유지됩니다) :

   a      b    c
0  1   NULL  1.1
1  2  hello  1.2
2  0   NULL  1.3
3  4   blah  0.0

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

조건에 따라 Pandas 데이터 프레임의 행 값을 정렬하는 방법은 무엇입니까?

분류에서Dev

열의 패턴에 따라 Pandas 데이터 프레임에서 누락 된 값을 채우는 방법은 무엇입니까?

분류에서Dev

두 개의 다른 열에 설정된 일부 조건에 따라 Pandas 데이터 프레임의 열을 채우는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 NaN의 백분율을 그리는 방법은 무엇입니까?

분류에서Dev

조건에 따라 Pandas 데이터 프레임에서 열을 삭제하는 방법은 무엇입니까?

분류에서Dev

특정 조건에 따라 데이터 프레임의 값을 다른 데이터 프레임의 값으로 바꾸는 방법은 무엇입니까?

분류에서Dev

조건에 따라 데이터 프레임의 열에 값을 할당하는 방법은 무엇입니까?

분류에서Dev

사전의 키 값에 따라 행별로 Pandas 데이터 프레임 열에 값을 추가하는 방법은 무엇입니까?

분류에서Dev

pandas 데이터 프레임의 열에서 값을 값에 따라 분류하는 방법은 무엇입니까?

분류에서Dev

pydatatable 데이터 프레임의 조건 (ifelse)에 따라 열을 만들고 값을 채우는 방법은 무엇입니까?

분류에서Dev

이전 열을 기반으로 pandas 데이터 프레임에서 NaN 셀을 채우는 방법은 무엇입니까?

분류에서Dev

Pandas의 조건에 따라 데이터 프레임 하위 집합의 열에 값을 할당하는 방법은 무엇입니까?

분류에서Dev

우선 순위에 따라 데이터 프레임의 열을 교체하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 문자열 값의 조건에 따라 행을 삭제하는 방법은 무엇입니까?

분류에서Dev

value_counts () 조건에 따라 pandas 데이터 프레임 열의 값을 바꾸는 방법은 무엇입니까?

분류에서Dev

string pandas 데이터 프레임 열의 각 값에 따라 특정 문자열을 추가하는 방법은 무엇입니까?

분류에서Dev

multiindex pandas 데이터 프레임의 행 인덱스 값에 따라 열을 만드는 방법은 무엇입니까?

분류에서Dev

입력 조건에 따라 NaN이 이미 포함 된 데이터 프레임을 필터링하는 방법은 무엇입니까?

분류에서Dev

티블의 기준에 따라 데이터 프레임을 필터링하는 방법은 무엇입니까?

분류에서Dev

for 루프의 조건에 따라 데이터 프레임을 연결하는 방법은 무엇입니까?

분류에서Dev

함수에 따라 Pandas 데이터 프레임의 값을 바꾸는 방법

분류에서Dev

NaN을 제외한 모든 고유 값을 포함하는 Pandas 데이터 프레임에서 열 이름을 찾는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 여러 목록을 0으로 채우는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 0을 채우는 방법은 무엇입니까?

분류에서Dev

조건에 따라 데이터 프레임의 모든 열을 곱하는 방법은 무엇입니까?

분류에서Dev

R의 변수에 따라 데이터 프레임을 전치하는 방법은 무엇입니까?

분류에서Dev

최대 값에 따라 데이터 프레임 열을 다시 코딩하는 방법은 무엇입니까?

분류에서Dev

Python의 조건에 따라 pandas 데이터 프레임의 두 행을 병합하는 방법은 무엇입니까?

분류에서Dev

2 개의 다른 기존 데이터 프레임에 따라 데이터 프레임을 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    조건에 따라 Pandas 데이터 프레임의 행 값을 정렬하는 방법은 무엇입니까?

  2. 2

    열의 패턴에 따라 Pandas 데이터 프레임에서 누락 된 값을 채우는 방법은 무엇입니까?

  3. 3

    두 개의 다른 열에 설정된 일부 조건에 따라 Pandas 데이터 프레임의 열을 채우는 방법은 무엇입니까?

  4. 4

    Pandas 데이터 프레임에서 NaN의 백분율을 그리는 방법은 무엇입니까?

  5. 5

    조건에 따라 Pandas 데이터 프레임에서 열을 삭제하는 방법은 무엇입니까?

  6. 6

    특정 조건에 따라 데이터 프레임의 값을 다른 데이터 프레임의 값으로 바꾸는 방법은 무엇입니까?

  7. 7

    조건에 따라 데이터 프레임의 열에 값을 할당하는 방법은 무엇입니까?

  8. 8

    사전의 키 값에 따라 행별로 Pandas 데이터 프레임 열에 값을 추가하는 방법은 무엇입니까?

  9. 9

    pandas 데이터 프레임의 열에서 값을 값에 따라 분류하는 방법은 무엇입니까?

  10. 10

    pydatatable 데이터 프레임의 조건 (ifelse)에 따라 열을 만들고 값을 채우는 방법은 무엇입니까?

  11. 11

    이전 열을 기반으로 pandas 데이터 프레임에서 NaN 셀을 채우는 방법은 무엇입니까?

  12. 12

    Pandas의 조건에 따라 데이터 프레임 하위 집합의 열에 값을 할당하는 방법은 무엇입니까?

  13. 13

    우선 순위에 따라 데이터 프레임의 열을 교체하는 방법은 무엇입니까?

  14. 14

    Pandas 데이터 프레임에서 문자열 값의 조건에 따라 행을 삭제하는 방법은 무엇입니까?

  15. 15

    value_counts () 조건에 따라 pandas 데이터 프레임 열의 값을 바꾸는 방법은 무엇입니까?

  16. 16

    string pandas 데이터 프레임 열의 각 값에 따라 특정 문자열을 추가하는 방법은 무엇입니까?

  17. 17

    multiindex pandas 데이터 프레임의 행 인덱스 값에 따라 열을 만드는 방법은 무엇입니까?

  18. 18

    입력 조건에 따라 NaN이 이미 포함 된 데이터 프레임을 필터링하는 방법은 무엇입니까?

  19. 19

    티블의 기준에 따라 데이터 프레임을 필터링하는 방법은 무엇입니까?

  20. 20

    for 루프의 조건에 따라 데이터 프레임을 연결하는 방법은 무엇입니까?

  21. 21

    함수에 따라 Pandas 데이터 프레임의 값을 바꾸는 방법

  22. 22

    NaN을 제외한 모든 고유 값을 포함하는 Pandas 데이터 프레임에서 열 이름을 찾는 방법은 무엇입니까?

  23. 23

    Pandas 데이터 프레임에서 여러 목록을 0으로 채우는 방법은 무엇입니까?

  24. 24

    Pandas 데이터 프레임에서 0을 채우는 방법은 무엇입니까?

  25. 25

    조건에 따라 데이터 프레임의 모든 열을 곱하는 방법은 무엇입니까?

  26. 26

    R의 변수에 따라 데이터 프레임을 전치하는 방법은 무엇입니까?

  27. 27

    최대 값에 따라 데이터 프레임 열을 다시 코딩하는 방법은 무엇입니까?

  28. 28

    Python의 조건에 따라 pandas 데이터 프레임의 두 행을 병합하는 방법은 무엇입니까?

  29. 29

    2 개의 다른 기존 데이터 프레임에 따라 데이터 프레임을 만드는 방법은 무엇입니까?

뜨겁다태그

보관