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
- sqlite
- tensorflow
- node.js
- javascript
- Excel
- IOS
- GIT
- Unity
- ASP
- MS-SQL
- Linux
- 맛집
- 날짜
- PER
- MySQL
- 유니티
- mssql
- 리눅스
- python
- 라즈베리파이
- PyQt5
- port
- 함수
- 다이어트
- ubuntu
- urllib
- pandas
- PyQt
- swift
- flutter
Archives
아미(아름다운미소)
a,b컬럼을 groupby 했을때 c컬럼이 모두 False이면 d컬럼의 알파벳이 제일 빠른행에 c컬럼값을 True로 바꿔준다 본문
랭귀지/pandas
a,b컬럼을 groupby 했을때 c컬럼이 모두 False이면 d컬럼의 알파벳이 제일 빠른행에 c컬럼값을 True로 바꿔준다
유키공 2024. 9. 13. 15:32import pandas as pd
# 예시 데이터프레임 생성
data = {
'a': ['A', 'A', 'B', 'B'],
'b': [1, 1, 2, 2],
'c': ['False', 'False', 'False', 'False'], # 문자열로 초기화
'd': ['apple', 'banana', 'cherry', 'date']
}
df = pd.DataFrame(data)
# 그룹화
groups = df.groupby(['a', 'b'])
# c 컬럼이 모두 'False'인 그룹의 d 컬럼의 알파벳이 가장 빠른 행 찾기
for name, group in groups:
if (group['c'] == 'False').all(): # c 컬럼이 모두 'False'인 경우
# d 컬럼을 기준으로 정렬하고 첫 번째 행 선택
min_alpha_row = group.sort_values(by='d').iloc[0]
df.loc[min_alpha_row.name, 'c'] = 'True' # 해당 행의 c 값을 'True'로 변경
print(df)
import pandas as pd
# 예시 데이터프레임 생성
data = {
'a': ['A', 'A', 'B', 'B'],
'b': [1, 1, 2, 2],
'c': [False, False, False, False],
'd': ['apple', 'banana', 'cherry', 'date']
}
df = pd.DataFrame(data)
# 그룹화
groups = df.groupby(['a', 'b'])
# c 컬럼이 모두 False인 그룹의 d 컬럼의 알파벳이 가장 빠른 행 찾기
for name, group in groups:
if group['c'].all() == False: # c 컬럼이 모두 False인 경우
# d 컬럼을 기준으로 정렬하고 첫 번째 행 선택
min_alpha_row = group.sort_values(by='d').iloc[0]
df.loc[min_alpha_row.name, 'c'] = True # 해당 행의 c 값을 True로 변경
print(df)
import pandas as pd
# 예시 데이터프레임 생성
data = {
'a': ['A', 'A', 'B', 'B'],
'b': [1, 1, 2, 2],
'c': [False, False, False, False],
'd': ['apple', 'banana', 'cherry', 'date']
}
df = pd.DataFrame(data)
# 그룹화
groups = df.groupby(['a', 'b'])
# c 컬럼이 모두 False인 그룹의 d 컬럼의 알파벳이 가장 빠른 행 찾기
for name, group in groups:
if group['c'].all() == False: # c 컬럼이 모두 False인 경우
min_alpha_index = group['d'].idxmin() # d 컬럼의 알파벳이 가장 빠른 행의 인덱스
df.loc[min_alpha_index, 'c'] = True # 해당 행의 c 값을 True로 변경
print(df)
'랭귀지 > pandas' 카테고리의 다른 글
a,b,c,d 컬럼을가진 df가 있는데 a컬럼읔 drop하고b,c로 distinct 하는데 d컬럼 알파벳오름차순 첫번째값만 남긴다 (0) | 2024.09.20 |
---|---|
df에서 a컬럼을 distinct 했을때 b컬럼이 true인 c컬럼을 copy b컬럼에 넣어준다 (0) | 2024.09.20 |
str.startswith (0) | 2024.09.12 |
a컬럼이 true이면 b값을 c에 넣어주고 아니몈 b값을 d에넣어주기 (0) | 2024.09.11 |
pandas left outer join (0) | 2024.09.06 |
Comments