티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Combine two columns of text in pandas dataframe
판다스 데이터프레임에서 두 개의 텍스트 열 합치기
문제 내용
I have a 20 x 4000 dataframe in Python using pandas. Two of these columns are named Year
and quarter
. I'd like to create a variable called period
that makes Year = 2000
and quarter= q2
into 2000q2
.
나는 판다스를 사용하는 파이썬에서 20 x 4000 데이터 프레임을 가지고 있습니다. 이러한 열 중 두 개의 이름은 연도와 분기입니다. 연도 = 2000, 분기 = q2를 2000q2로 만드는 기간이라는 변수를 만들고 싶습니다.
Can anyone help with that?
누가 도와줄 수 있어요?
높은 점수를 받은 Solution
If both columns are strings, you can concatenate them directly:
두 열이 모두 문자열인 경우 직접 연결할 수 있습니다.
df["period"] = df["Year"] + df["quarter"]
If one (or both) of the columns are not string typed, you should convert it (them) first,
열 중 하나(또는 둘 다)가 문자열로 입력되지 않은 경우 먼저 변환해야 합니다.
df["period"] = df["Year"].astype(str) + df["quarter"]
Beware of NaNs when doing this!
이것을 할 때 NaNs를 조심하세요!
If you need to join multiple string columns, you can use agg
:
여러 문자열 열을 조인해야 하는 경우 agg를 사용할 수 있습니다 :
df['period'] = df[['Year', 'quarter', ...]].agg('-'.join, axis=1)
Where "-" is the separator.
여기서 "-"는 구분자입니다.
가장 최근 달린 Solution
You can use lambda:
람다를 사용할 수 있습니다.
combine_lambda = lambda x: '{}{}'.format(x.Year, x.quarter)
And then use it with creating the new column:
그런 다음 새 열을 생성할 때 사용합니다.
df['period'] = df.apply(combine_lambda, axis = 1)
출처 : https://stackoverflow.com/questions/19377969/combine-two-columns-of-text-in-pandas-dataframe
'개발 > 파이썬' 카테고리의 다른 글
부분 문자열 기준으로 데이터프레임 필터링 하기 (0) | 2022.12.16 |
---|---|
파일의 첫 번째 줄 읽어오기 (0) | 2022.12.16 |
파일에서 특정 줄(줄 번호로) 읽기 (0) | 2022.12.16 |
파일의 텍스트를 검색하고 바꾸는 효율적인 방법 (0) | 2022.12.15 |
읽기와 쓰기 모두를 위해 파일을 여는 방법은 무엇입니까? (0) | 2022.12.14 |