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 | 31 |
Tags
- GIT
- urllib
- 라즈베리파이
- mssql
- 맛집
- sqlite
- ASP
- Excel
- pandas
- python
- 날짜
- tensorflow
- 리눅스
- swift
- node.js
- 다이어트
- javascript
- 함수
- PyQt
- Unity
- MySQL
- Linux
- PER
- flutter
- PyQt5
- ubuntu
- IOS
- port
- 유니티
- MS-SQL
Archives
아미(아름다운미소)
Pandas에서 DataFrame의 특정 컬럼 특정값 본문
import pandas as pd
import numpy as np
# 예시 데이터 생성
data = {
'a': ['x', 'x', 'y', 'y', 'z'],
'b': ['p', 'p', 'q', 'q', 'r'],
'c': ['apple', 'banana', 'cherry', 'date', 'fig']
}
df = pd.DataFrame(data)
# (a, b)로 그룹화하여 c 컬럼의 최소값을 계산
min_c = df.groupby(['a', 'b'])['c'].agg('min').reset_index()
min_c.rename(columns={'c': 'min_c'}, inplace=True)
# 원래 DataFrame과 병합
df = df.merge(min_c, on=['a', 'b'], how='left')
# 최소값에 1을 할당하고 나머지에는 NaN 할당
df['value'] = np.where(df['c'] == df['min_c'], 1, np.nan)
# 필요 없는 min_c 컬럼 제거
df.drop(columns=['min_c'], inplace=True)
print(df)
import pandas as pd
import numpy as np
# 예시 데이터 생성
data = {
'a': ['x', 'x', 'y', 'y', 'z'],
'b': ['p', 'p', 'q', 'q', 'r'],
'c': ['apple', 'banana', 'cherry', 'date', 'fig']
}
df = pd.DataFrame(data)
# (a, b)로 그룹화하고 c 컬럼의 알파벳 순으로 정렬한 후, 최소값을 찾기
# 각 그룹의 최소값을 가져오기 위해 groupby 후 transform 사용
df['min_c'] = df.groupby(['a', 'b'])['c'].transform(lambda x: x.min())
# 최소값에 1을 할당하고 나머지에는 NaN 할당
df['value'] = np.where(df['c'] == df['min_c'], 1, np.nan)
# 필요 없는 min_c 컬럼 제거
df.drop(columns=['min_c'], inplace=True)
print(df)
'랭귀지 > pandas' 카테고리의 다른 글
pandas a df에서 b컬럼을 distinct 했을때 c컬럼이 true인 d컬럼의값을 copy해서 a df에 넣어주는 예제 (0) | 2024.08.06 |
---|---|
pandas a커럼을 drop하고b,c,d컬럼을 기준으로 groupby 한후 e컬럼의 최빈값을 취한다.동률일경우 Min 값을 가져온다 (0) | 2024.08.01 |
pandas 컬럼리스트 확인 (0) | 2024.07.25 |
pandas 주차차이 구하기 (0) | 2024.07.23 |
pandas 전주차 구하기 (0) | 2024.07.23 |
Comments