지정된 Pandas 데이터 프레임에서 문자열 데이터 지우기

| | | |

전자 상거래 사이트의 데이터를 처리한다고 가정합니다. 제품 이름이 올바른 형식이 아닙니다. 앞뒤 공백이 없고 모든 제품의 첫 글자가 대문자가 되도록 데이터 형식을 올바르게 지정합니다.

해결 방법 # 1: 많은 경우에 직면하게 됩니다. 당면한 작업에 적합한 사용자 정의 함수를 작성해야 하는 상황입니다.


# pandas를 pd로 가져오기

가져오기 pd로 판다


# 데이터 프레임 생성

df = <코드 클래스 = "일반"> pd.DataFrame({ <코드 클래스 = "문자열"> `날짜` <코드 클래스 ="일반 ">: [< /코드> <코드 클래스 ="문자열 "> `2011년 10월 2일` <코드 클래스 ="일반 ">, <코드 클래스 ="문자열 ">` 2011년 11월 2일` <코드 클래스 = "일반" >, <코드 클래스 = "문자열"> `12/2 / 2011` <코드 클래스 ="일반 ">, < 코드 c lass ="문자열 ">` 13/2 / 2011` <코드 클래스 = "일반" >],

<코드 클래스 = "문자열"> `제품` < /코드> <코드 클래스 ="일반 ">: [ <코드 클래스 = "문자열"> `UMbreLla` <코드 클래스 ="일반 ">, <코드 클래스 =" 문자열 ">` maTress` <코드 클래스 = "일반">, <코드 클래스 = "문자열"> `BaDmintoN` <코드 클래스 = "일반">, <코드 클래스 = "문자열"> `셔틀 ` <코드 클래스 ="일반 ">],

` 업데이트된 가격` : [ 1250 , <코드 클래스 = "값 "> 1450 <코드 클래스 ="일반 ">, <코드 클래스 ="값 "> 1550 <코드 클래스 ="일반 ">, <코드 클래스 = "값"> 400 <코드 클래스 = "일반">],

<코드 클래스 = "문자열" > ` 할인` : [ 10 < 코드 클래스 = "일반">, <코드 클래스 = "값"> 8 <코드 클래스 = "일반">, <코드 클래스 = "값"> 15 <코드 클래스 = "일반">, <코드 클래스 = "값"> 10 <코드 클래스 = "일반">]})


<코드 클래스 = "주석"> # 데이터 프레임 인쇄

인쇄 (df)

출력:

이제 우리는 이 문제를 해결하기 위해 사용자 정의 함수를 작성할 것입니다.


def Format_data (df):

# 모든 줄에 대해 반복

i 에 대한 키워드"> 범위 (df.shape [ <코드 클래스 = "값"> 0 <코드 클래스 = "일반">]):


# 제품 열에 값 재할당

# 먼저 스트립() 함수를 사용하여 공백 제거

# 대문자화() 함수로 대문자화합니다.

df. iat [i, <코드 클래스 = "값"> 1 <코드 클래스 = "일반">] <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> df.iat [i, <코드 클래스 = "값"> 1 <코드 클래스 = "일반">]. 스트립(). 대문자 ( )


# 함수를 호출하러 가자
Format_data (df )


# 데이터 프레임 인쇄

인쇄 <코드 클래스 = "일반"> (df)

출력:

해결책 # 2: 이제 Pandas function DataFrame.apply() .


<테이블 테두리 = "0" cellpadding = "0" cellspacing = " 0 ">

# 판다를 pd로 가져오기

가져오기 pd로 pandas


# 데이터 프레임 생성

<코드 클래스 = "일반"> df <코드 클래스 = "키워드"> = pd.DataFrame ( {` ` 날짜` : [ < 코드 클래스 = "문자열"> `10/2 / 2011` <코드 클래스 = "일반">, <코드 클래스 = "문자열"> `11/2 / 2011` <코드 클래스 ="일반 ">, <코드 클래스 = "문자열"> `12/2 / 2011` <코드 클래스 ="일반 ">, <코드 클래스 =" 문자열 ">` 13/2 / 2011` <코드 클래스 = "일반">],

<코드 클래스 = "문자열"> `제품` <코드 클래스 = "일반">: [ <코드 클래스 = "문자열"> `UMbreLla` <코드 클래스 ="일반 ">, <코드 클래스 ="문자열 "> ` maTress` , `BaDmintoN` , `셔틀` ],

<코드 클래스 = "문자열"> `업데이트_가격` : [ 1250 , <코드 클래스 = "값"> 1450 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1550 <코드 클래스 = "일반">, <코드 클래스 = "값"> 400 <코드 클래스 = "일반">],

<코드 클래스 = " string"> `할인` : [ 10 , <코드 클래스 = "값"> 8 <코드 클래스 = "일반">, <코드 클래스 = "값"> 15 <코드 클래스 = "일반">, 10 ]})


# 인쇄 데이터 프레임

인쇄 (df)

출력:

DataFrame.apply() Pandas DataFrame.apply() 를 사용하여 제품 이름을 원하는 형식으로 지정해 보겠습니다. Pandas DataFrame.apply() 함수 내에서 람다 함수를 사용할 것입니다.


# 열 제품에 대한 df.apply() 함수

df [ `제품` <코드 클래스 ="일반 ">] <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> df [ <코드 클래스 = "문자열"> `제품 ` <코드 클래스 = "일반">]. 적용 ( 람다 x: x.strip ().대문자 ())


# 데이터 프레임 인쇄

인쇄 (df)

출력 :

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method