일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- python
- ubuntu
- GIT
- sqlite
- MS-SQL
- PyQt
- Linux
- IOS
- ASP
- 라즈베리파이
- 유니티
- 맛집
- MySQL
- node.js
- 함수
- 리눅스
- javascript
- 다이어트
- 날짜
- port
- swift
- PyQt5
- Excel
- PER
- mssql
- pandas
- urllib
- flutter
- Unity
- tensorflow
목록랭귀지/pandas (116)
아미(아름다운미소)
# 다른 부분을 나란히 비교diff_result = pd.concat([df[diff], df2[diff]], axis=1, keys=['df_a', 'df2_a'])print(diff_result)
import pandas as pddef days_to_timedelta(days: float) -> pd.Timedelta: return pd.Timedelta(days=days)import mathfrom datetime import timedeltadef convert_days_to_timedelta(f_day: float) -> timedelta: total_seconds = f_day * 86400.0 # 24*60*60 days, remainder_seconds = divmod(total_seconds, 86400) seconds, microseconds = divmod(round(remainder_seconds * 1_000_000), 1_000_000) retu..
import pandas as pdimport numpy as npdef calculate_week_start(df, week_code_col, output_col='start_datetime'): """ 주차 코드를 시작일로 변환하는 함수 (성능 최적화 버전). Parameters: df (pd.DataFrame): 입력 데이터프레임 week_code_col (str): 주차 코드 컬럼명 (예: "202401A") output_col (str): 결과 컬럼명 (기본값: "start_datetime") Returns: pd.DataFrame: 시작일이 추가된 데이터프레임 """ # 원본 데이터프레임 보존을 위해 복사 ..
import pandas as pd# 샘플 데이터 생성data1 = { 'id': [1, 2, 3, 4, 5], 'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'], 'age': [25, 30, 35, 40, 45], 'city': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']}data2 = { 'id': [1, 2, 3, 4, 5], 'name': ['Alice', 'Bob', 'Charlie', 'Daniel', 'Eva'], # 'David' -> 'Daniel' 'age': [25, 30, 35, 40, 50], # 45 -> 50 'city': [..
import pandas as pd# 샘플 데이터 범위 확장 (년도가 바뀌는 경우 포함)data = { 'date': pd.date_range(start='2023-12-20', periods=20, freq='D'), # 2023-12-20부터 20일간 'value': range(100, 2100, 100) # 100부터 2000까지 100씩 증가}df = pd.DataFrame(data)# 주차(week) 컬럼 추가 (ISO 주차 기준)df['week'] = df['date'].dt.isocalendar().weekdf['year'] = df['date'].dt.isocalendar().year # 연도 정보 추가# 조건: value가 500보다 큰 경우condition = df['v..
import pandas as pdimport numpy as np# 샘플 DataFrame 생성df = pd.DataFrame({ "fruit": ["apple", "banana", "cherry", "date", "elderberry"], "quantity": [5, 3, 7, 2, 4], "price": [100, 50, 200, 30, 150]})# 조건 리스트 (여러 컬럼을 함께 비교)condlist = [ (df["fruit"] == "apple") & (df["quantity"] > 4), # "apple"이고 quantity가 4보다 큰 경우 (df["fruit"] == "banana") | (df["price"] = 150) # price가 150 이상인 경..
df['bool_col'] = df['bool_col'].astype(str).str.lower().eq('true')df['bool_col'] = df['bool_col'].fillna(False).astype(str).str.lower().eq('true')df['bool_col'] = df['bool_col'].map(lambda x: x is True)
import pandas as pd# 초기 데이터프레임 생성df = pd.DataFrame({'ccc': [1, 2, 3]})# 조건에 따라 추가할 열 정의new_columns = {}if df['ccc'].max() > 2: new_columns['aaa'] = df['ccc']if df['ccc'].min() ccc aaa bbb0 1 1.0 21 2 2.0 42 3 3.0 6
import pandas as pd# 예시 데이터프레임 생성data = { 'a': ['value1_value2', '', 'value3_value4', 'value5_value6'], 'b': [1, 2, 3, 4]}df = pd.DataFrame(data)# a 컬럼이 빈 문자열이 아닐 경우 _ 기준으로 split하고 첫 번째 값 사용df['first_value'] = df['a'].apply(lambda x: x.split('_')[0] if x else None)print(df)
import pandas as pd# 예시 데이터프레임 생성data1 = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}data2 = {'a': [2, 3, 4], 'b': [5, 6, 7], 'c': [8, 9, 10]}df = pd.DataFrame(data1)df2 = pd.DataFrame(data2)# df2에만 있는 값 찾기result = df2[~df2.set_index(['a', 'b', 'c']).index.isin(df.set_index(['a', 'b', 'c']).index)]print(result)