Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ASP
- pandas
- ubuntu
- 유니티
- swift
- tensorflow
- port
- MySQL
- Unity
- javascript
- GIT
- urllib
- PyQt5
- Linux
- flutter
- 다이어트
- IOS
- sqlite
- 날짜
- 맛집
- Excel
- MS-SQL
- 함수
- python
- PyQt
- node.js
- 라즈베리파이
- mssql
- PER
- 리눅스
Archives
아미(아름다운미소)
주어진 조건에 따라 각각 100개의 행을 랜덤하게 추출하여 새로운 DataFrame을 만드는 예제 본문
import pandas as pd
import numpy as np
# 예시 데이터 생성
data = {
'a': ['aaa'] * 50 + ['bbb'] * 150 + ['ccc'] * 200 + ['ddd'] * 100, # 행 수를 조정
'b': ['bbb'] * 100 + ['ccc'] * 200 + ['aaa'] * 150 + ['bbb'] * 50
}
df = pd.DataFrame(data)
# 조건에 맞는 행을 랜덤하게 추출 (최대 100개)
def safe_sample(df, condition, n=100):
filtered = df[condition]
sample_size = min(len(filtered), n) # 조건에 맞는 행 수와 n 중 작은 값 선택
return filtered.sample(n=sample_size, random_state=1) if sample_size > 0 else pd.DataFrame()
# 각 조건에 맞는 행 추출
condition1 = safe_sample(df, df['a'] == 'aaa')
condition2 = safe_sample(df, df['a'] == 'bbb')
condition3 = safe_sample(df, df['b'] == 'bbb')
condition4 = safe_sample(df, df['b'] == 'ccc')
# 추출된 행들을 합쳐서 새로운 DataFrame 생성
new_df = pd.concat([condition1, condition2, condition3, condition4])
# 결과 출력
print(new_df)
'랭귀지 > pandas' 카테고리의 다른 글
날짜 형식 변환 (YYYY-MM-DD 형식으로) (0) | 2025.03.12 |
---|---|
백터화 (0) | 2025.03.11 |
데이터프레임의 특정 열을 datetime으로 변환 (0) | 2025.03.04 |
두 대이타 프레임비교 (0) | 2025.02.26 |
일수를 datetime.timedelta 변환 (0) | 2025.02.26 |