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
- ASP
- 함수
- pandas
- PER
- PyQt5
- IOS
- 라즈베리파이
- 날짜
- urllib
- mssql
- 다이어트
- PyQt
- javascript
- Linux
- MySQL
- Unity
- python
- GIT
- swift
- 유니티
- node.js
- tensorflow
- ubuntu
- flutter
- MS-SQL
- 맛집
- 리눅스
- Excel
- sqlite
- port
Archives
아미(아름다운미소)
df에서 a컬럼을 distinct 했을때 b컬럼이 true인 c컬럼을 copy b컬럼에 넣어준다 본문
import pandas as pd
# 예시 DataFrame 생성
data = {
'a': [1, 2, 3, 4],
'b': ['group1', 'group1', 'group2', 'group2'],
'c': [10, 20, 30, 40],
'd': ['T', 'F', 'T', 'F']
}
df = pd.DataFrame(data)
# f 컬럼 초기화
df['f'] = None
# 그룹화하여 f 컬럼 채우기
for name, group in df.groupby('b'):
value = group.loc[group['d'] == 'T', 'c']
if not value.empty:
df.loc[group.index, 'f'] = value.values[0]
print(df)
import pandas as pd
# 예시 데이터프레임 생성
data = {
'a': ['true', 'false', 'TRUE', 'false', 'TRUE'],
'b': [1, 2, 3, 4, 5],
'c': [0, 0, 0, 0, 0] # 초기값
}
df = pd.DataFrame(data)
# a 컬럼을 대문자로 변경
df['a'] = df['a'].str.upper()
# a 컬럼이 'TRUE'인 경우 b 값을 c 컬럼에 복사
df['c'] = df.apply(lambda row: row['b'] if row['a'] == 'TRUE' else row['c'], axis=1)
print(df)
import pandas as pd
# 예시 데이터프레임 생성
data = {
'a': ['x', 'y', 'x', 'z', 'y'],
'b': ['FALSE', 'FALSE', 'TRUE', 'TRUE', 'FALSE'],
'c': [1, 2, 3, 4, 5]
}
df = pd.DataFrame(data)
# b컬럼이 'TRUE'인 경우 c컬럼의 값을 b컬럼에 복사
df['b'] = df.apply(lambda row: row['c'] if row['b'] == 'TRUE' else row['b'], axis=1)
# a컬럼의 고유 값으로 그룹화하여 b컬럼 값 채우기
df['b'] = df.groupby('a')['b'].transform(lambda x: x.ffill().bfill())
print(df)
'랭귀지 > pandas' 카테고리의 다른 글
pandas not null (0) | 2024.09.25 |
---|---|
a,b,c,d 컬럼을가진 df가 있는데 a컬럼읔 drop하고b,c로 distinct 하는데 d컬럼 알파벳오름차순 첫번째값만 남긴다 (0) | 2024.09.20 |
a,b컬럼을 groupby 했을때 c컬럼이 모두 False이면 d컬럼의 알파벳이 제일 빠른행에 c컬럼값을 True로 바꿔준다 (0) | 2024.09.13 |
str.startswith (0) | 2024.09.12 |
a컬럼이 true이면 b값을 c에 넣어주고 아니몈 b값을 d에넣어주기 (0) | 2024.09.11 |
Comments