728x90
반응형

Python에서 pandas 라이브러리를 사용하여 DataFrame의 특정 열(column) 값에 따라 데이터를 필터링하는 것은 매우 일반적인 작업입니다. 이를 위해 불리언 인덱싱(Boolean indexing)을 주로 사용합니다. 아래에서는 기본적인 예시를 통해 이 방법을 설명하겠습니다.

 

먼저, pandas가 설치되어 있어야 합니다. 설치되어 있지 않다면, 다음 명령어로 설치할 수 있습니다:

pip install pandas

 

이제, 예를 들어 DataFrame에서 특정 조건을 만족하는 행(row)만 필터링하는 방법을 살펴보겠습니다.

import pandas as pd

# 샘플 데이터 생성
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 34, 29, 32],
        'City': ['New York', 'Paris', 'Berlin', 'London']}

df = pd.DataFrame(data)

# 'Age'가 30 이상인 행만 필터링
filtered_df = df[df['Age'] >= 30]

print(filtered_df)

 

이 예시에서는 'Age' 열의 값이 30 이상인 행만 선택하여 filtered_df라는 새로운 DataFrame에 저장합니다.

또한, 여러 조건을 조합하여 필터링할 수도 있습니다. 예를 들어 'Age'가 30 이상이고, 'City'가 'Paris'인 행을 필터링하려면 다음과 같이 작성할 수 있습니다:

# 'Age'가 30 이상이고, 'City'가 'Paris'인 행 필터링
filtered_df = df[(df['Age'] >= 30) & (df['City'] == 'Paris')]

print(filtered_df)

 

이 때, 각 조건을 괄호로 묶고 & (AND) 연산자를 사용하여 두 조건을 모두 만족하는 행을 필터링합니다. 만약 조건 중 하나라도 만족하는 행을 찾고 싶다면, | (OR) 연산자를 사용할 수 있습니다.

이러한 방법을 통해 pandas에서 다양한 조건에 따라 데이터를 효과적으로 필터링할 수 있습니다.

728x90
반응형
728x90
반응형

Python에서 Excel 파일을 DataFrame으로 변환하기 위해 pandas 라이브러리를 주로 사용합니다. 이 과정은 매우 간단하며, pandas의 read_excel 함수를 이용하여 수행할 수 있습니다. 다만, Excel 파일을 읽기 위해서는 openpyxl (.xlsx 파일용) 또는 xlrd (.xls 파일용) 같은 추가 라이브러리가 필요할 수 있습니다. 최근 버전의 pandas에서는 .xlsx 파일을 읽기 위해 openpyxl을 추천합니다.

 

먼저 필요한 라이브러리를 설치해야 합니다. 아직 pandas와 openpyxl을 설치하지 않았다면, 다음 명령어를 통해 설치할 수 있습니다:

% pip install pandas openpyxl

# 설치확인
% pip list | grep openpyxl      
openpyxl                      3.0.10
%

 

그 후, Excel 파일을 DataFrame으로 변환하는 과정은 다음과 같습니다:

import pandas as pd

# Excel 파일 경로
file_path = 'path_to_your_excel_file.xlsx'

# Excel 파일을 DataFrame으로 읽기
df = pd.read_excel(file_path)

# DataFrame 확인
print(df)

 

read_excel 함수는 여러 매개변수를 제공하는데, 이를 통해 다양한 요구 사항에 맞게 Excel 파일을 읽을 수 있습니다. 예를 들어, 특정 시트를 읽거나, 열의 범위를 지정하거나, 특정 행을 헤더로 사용하는 등의 설정이 가능합니다.

특정 시트를 읽으려면 sheet_name 매개변수를 사용합니다:

# 'Sheet2'라는 이름의 시트를 읽기
df = pd.read_excel(file_path, sheet_name='Sheet2')

 

sheet_name에 시트의 인덱스를 전달할 수도 있으며, None을 전달하면 모든 시트를 사전 형태로 읽어옵니다.

헤더가 없는 Excel 파일을 읽으려면, header=None을 설정합니다:

# 헤더가 없는 Excel 파일을 읽기
df = pd.read_excel(file_path, header=None)

 

특정 컬럼만 읽으려면 usecols 매개변수에 열 이름이나 열 번호의 범위를 지정합니다:

# A열과 C열만 읽기
df = pd.read_excel(file_path, usecols='A,C')
# 또는 열 번호로 지정(0부터 시작)
df = pd.read_excel(file_path, usecols=[0, 2])

 

이러한 방법을 통해 Python에서 Excel 파일을 쉽게 DataFrame으로 변환하고, pandas를 활용하여 다양한 데이터 분석 작업을 수행할 수 있습니다.

728x90
반응형
728x90
반응형

파이썬에서 특정 디렉토리와 그 하위 디렉토리를 포함하여 모든 Excel 파일(예: .xlsx, .xls)을 찾으려면 os 모듈과 glob 모듈을 사용할 수 있습니다. 여기에서는 두 가지 방법을 소개합니다: os 모듈의 walk() 함수를 사용하는 방법과 pathlib 모듈의 Path.rglob() 메서드를 사용하는 방법입니다.

 

첫번째, os.walk()를 사용하는 방법

import os

def find_excel_files(root_dir):
    excel_files = []
    for dirpath, dirnames, filenames in os.walk(root_dir):
        for filename in filenames:
            if filename.endswith(('.xlsx', '.xls')):
                excel_files.append(os.path.join(dirpath, filename))
    return excel_files

# 사용 예
root_directory = 'your_directory_path_here'
excel_files = find_excel_files(root_directory)
for file in excel_files:
    print(file)

 

이 코드는 지정된 루트 디렉토리(root_directory)와 그 하위 디렉토리를 모두 탐색하여 .xlsx 또는 .xls 확장자를 가진 파일의 전체 경로를 리스트로 반환합니다.

 

두번째, pathlib.Path.rglob()를 사용하는 방법

pathlib은 Python 3.4 이상에서 사용할 수 있으며, 파일 시스템 경로를 객체 지향적으로 쉽게 다룰 수 있게 해 줍니다.

from pathlib import Path

def find_excel_files(root_dir):
    excel_files = list(Path(root_dir).rglob('*.xlsx')) + list(Path(root_dir).rglob('*.xls'))
    return [str(file) for file in excel_files]

# 사용 예
root_directory = 'your_directory_path_here'
excel_files = find_excel_files(root_directory)
for file in excel_files:
    print(file)

 

rglob() 메서드는 지정된 패턴과 일치하는 모든 파일의 경로를 재귀적으로 검색합니다. 이 예제에서는 *.xlsx와 *.xls 패턴을 사용하여 Excel 파일을 찾습니다.

두 방법 모두 지정된 디렉토리와 그 하위 디렉토리에서 Excel 파일을 찾는 데 사용할 수 있으며, 사용자의 필요와 선호도에 따라 선택할 수 있습니다.

 

< 참조 >

https://zephyrus1111.tistory.com/460

 

파이썬(Python) 파일과 폴더(디렉토리) 탐색하기 (feat. glob)

파이썬(Python)의 내장 모듈인 glob을 이용하면 파일명의 패턴을 이용하여 특정 폴더와 그 하위에 있는 파일을 찾아낼 수 있다. 이번 포스팅에서는 glob 모듈을 이용하여 특정 패턴을 갖는 파일과 폴

zephyrus1111.tistory.com

https://nck2.github.io/%EC%97%85%EB%AC%B4%EC%9E%90%EB%8F%99%ED%99%94/excelpython/

 

Python으로 특정폴더 내 파일이름 읽기 및 엑셀 내용 읽기

요구사항 파이썬으로 특정폴더안의 파일 이름을 읽는다. 또한 특정 파일의 시트이름을 읽는다. 내용을 읽어와 pandas의 객체로 반환한다.

nck2.github.io

https://dataleader.tistory.com/24

 

[파이썬(python) 이야기 4화] 폴더 내 파일 검색하기, 폴더 내 파일 정보 데이터 프레임으로 저장하

0. 폴더 검색? 프로그램을 개발할 때 종종 폴더를 검색해 파일을 수정하는 경우가 발생합니다. 그러나 파일이 하나일 경우에는 크게 문제가 없지만, 파일이 여러 개일 경우 어떻게 해야할 까요?

dataleader.tistory.com

https://mingchin.tistory.com/168

 

[파이썬/Python] 모든 하위 디렉토리 탐색, 특정 확장자 찾기

특정 경로에 존재하는 모든 하위 디렉토리를 탐색하며 원하는 파일을 찾고자 하는 때가 있다. 이때 활용할 수 있는 것이 os.walk 또는 glob.glob이다. import os for (path, dir, files) in os.walk("D:/"): for filename

mingchin.tistory.com

 

728x90
반응형
728x90
반응형

Python에서 파일이 존재하는지 확인

 

Python에서 파일이 존재하는지 확인하려면 os.path.exists() 함수를 사용할 수 있습니다. 이 함수를 사용하여 파일 경로를 전달하고 파일이 존재하는지 여부를 확인할 수 있습니다.

예를 들어, 다음은 주어진 파일 경로가 존재하는지 확인하는 방법입니다:

 

import os

file_path = "/path/to/file.txt"

if os.path.exists(file_path):
    print("File exists.")
else:
    print("File does not exist.")

 

위 코드에서 /path/to/file.txt는 확인하려는 파일 경로를 나타내는 문자열로 대체되어야 합니다. 이 코드는 해당 경로에 파일이 존재하는지 여부를 확인하고 결과를 출력합니다.

 


파일의 절대 경로에서 파일 이름만 추출하는 방법

 

파일의 절대 경로에서 파일 이름만 추출하는 방법은 os.path.basename() 함수를 사용하는 것입니다. 이 함수를 사용하여 파일의 전체 경로에서 파일 이름만 추출할 수 있습니다.

예를 들어, 다음은 주어진 파일의 절대 경로에서 파일 이름만 추출하는 방법입니다:

 

import os

file_path = "/path/to/file.txt"

file_name = os.path.basename(file_path)
print("File name:", file_name)

 

위 코드에서 /path/to/file.txt는 파일의 절대 경로를 나타내는 문자열로 대체됩니다. os.path.basename() 함수를 사용하여 이 경로에서 파일 이름만 추출하고 그것을 출력합니다. 출력 결과는 파일의 이름만 포함하게 됩니다.

728x90
반응형

+ Recent posts