pandas Excel 신속 처리, Nan 교체, 사전 작업

2795 단어 pandasExcelNan자전.

pandas Excel 읽기


import pandas as pd
#  1: , 2:sheet 
pf = pd.read_excel(path, sheet_name='sheet1')

지정한 열 삭제


#  
pf.drop([' ', ' ', ' '], axis=1, inplace=True)

열 이름 바꾸기


#    
columns_map = {
    ' 1': 'newname_1',
    ' 2': 'newname_2',
    ' 3': 'newname_3',
    ' 4': 'newname_4',
    ' 5': 'newname_5',
    #  
    'Unnamed: 10': 'newname_6',
}
new_fields = list(columns_map.values())
pf.rename(columns=columns_map, inplace=True)
pf = pf[new_fields]

Nan 교체


보통 사용

pf.fillna(' ')
테이블의 빈 값을 대체합니다(Nan).
하지만, fillna () 가 잘 안 될 때가 있다는 것을 발견할 수 있습니다. inplace = True

#   inplace=True  
pf.fillna(' ', inplace=True)
공식 inplace에 대한 설명
inplace : boolean, default False
If True, fill in place. Note: this will modify any other views on this object, (e.g. a no-copy slice for a column in a DataFrame).

전체 열 출력 숨기지 않음


표를 출력할 때 중간 열을 숨기는 경우가 생길 수 있습니다. 첫 번째 열과 마지막 열만 출력하고, 중간은... 으로 대체합니다.
아래의 이 말을 더해서 인쇄하면 전열이 인쇄됩니다.

pd.set_option('display.max_columns', None)
print(pf)

Excel을 사전으로 변환


pf_dict = pf.to_dict(orient='records')
모든 코드

import pandas as pd
pf = pd.read_excel(path, sheet_name='sheet1')
columns_map = {
    ' 1': 'newname_1',
    ' 2': 'newname_2',
    ' 3': 'newname_3',
    ' 4': 'newname_4',
    ' 5': 'newname_5',
    #  
    'Unnamed: 10': 'newname_6',
}
new_fields = list(columns_map.values())
pf.drop([' ', ' ', ' '], axis=1, inplace=True)
pf.rename(columns=columns_map, inplace=True)
pf = pf[new_fields]
pf.fillna('Unknown', inplace=True)
# pd.set_option('display.max_columns', None)
# print(smt)
pf_dict = pf.to_dict(orient='records')
추가:python pandas replace 0을 nan, bfill/ffill로 교체

0을(를) nan으로 바꿉니다.


일반적으로 0을 nan으로 바꾸면

df.replace(0, None, inplace=True)
그러나 바꿀 수 없다.

df.replace(0, np.nan, inplace=True)

nan을 앞값, 뒷값으로 바꾸기


df.ffill(axis=0) #  
df.bfill(axis=0) #  
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.만약 잘못이 있거나 완전한 부분을 고려하지 않으신다면 아낌없이 가르침을 주시기 바랍니다.

좋은 웹페이지 즐겨찾기