두 개의 데이터 프레임을 결합하려면 어떻게 해야 합니까?
초기 데이터 프레임이 있습니다.D
. 다음과 같이 두 개의 데이터 프레임을 추출합니다.
A = D[D.label == k]
B = D[D.label != k]
합치고 싶습니다.A
그리고.B
하나의 데이터 프레임으로 이동할 수 있습니다.데이터의 순서는 중요하지 않습니다.하지만 우리가 샘플을 채취할 때A
그리고.B
부터D
, 그들은 그들의 지수를 유지합니다.D
.
사용하지 않음:
DataFrame.append
그리고.Series.append
는 v1.4.0에서 더 이상 사용되지 않습니다.
사용하다append
:
df_merged = df1.append(df2, ignore_index=True)
그리고 그들의 지수를 유지하기 위해, set.ignore_index=False
.
사용하다pd.concat
여러 데이터 프레임을 결합하는 방법:
df_merged = pd.concat([df1, df2], ignore_index=True, sort=False)
행 간에 병합:
df_row_merged = pd.concat([df_a, df_b], ignore_index=True)
여러 열에 병합:
df_col_merged = pd.concat([df_a, df_b], axis=1)
빅 데이터를 사용하고 있으며 여러 데이터셋을 연결해야 하는 경우concat
여러 번의 경우 성능 집약적일 수 있습니다.
매번 새 df를 만들지 않으려면 대신 변경 사항을 집계하고 호출할 수 있습니다.concat
한 번만:
frames = [df_A, df_B] # Or perform operations on the DFs
result = pd.concat(frames)
이는 해당 섹션 하단의 연결된 개체 아래에 있는 판다 문서에서 지적한 내용입니다.
참고: 하지만 주목할 필요가 있습니다.
concat
(따라서)append
)에서 데이터의 전체 복사본을 만들고, 이 기능을 지속적으로 재사용하면 성능이 크게 향상될 수 있습니다.여러 데이터 세트에 걸쳐 작업을 사용해야 하는 경우 목록 이해력을 사용합니다.
첫번째 데이터 프레임의 값을 업데이트/교체하려는 경우df1
두번째 데이터 프레임의 값으로df2
. 다음 단계에 따라 작업을 수행할 수 있습니다.
Step 1 : 첫번째 데이터 프레임의 인덱스 설정 (df1)
df1.set_index('id')
Step 2 : 두번째 데이터 프레임의 인덱스 설정 (df2)
df2.set_index('id')
그리고 마지막으로 다음 토막글을 사용하여 데이터 프레임을 업데이트합니다.
df1.update(df2)
두 팬더 데이터 프레임을 열별로 조인하려면 인덱스를 조인 키로 사용하여 다음 작업을 수행할 수 있습니다.
both = a.join(b)
여러 DataFrame, Series 또는 이들의 혼합물을 인덱스로 결합하려면 다음과 같이 목록에 입력하면 됩니다.
everything = a.join([b, c, d])
에 대한 팬더 문서를 참조하십시오.
# collect excel content into list of dataframes
data = []
for excel_file in excel_files:
data.append(pd.read_excel(excel_file, engine="openpyxl"))
# concatenate dataframes horizontally
df = pd.concat(data, axis=1)
# save combined data to excel
df.to_excel(excelAutoNamed, index=False)
수평으로 부칠 때 위의 것을 시도해 볼 수 있습니다!이것이 sum1에 도움이 되기를 바랍니다.
이 코드를 사용하여 두 개의 Panda Data Frame을 수평으로 부착합니다.
df3 = pd.concat([df1, df2],axis=1, ignore_index=True, sort=False)
두 프레임을 병합할 축을 중심으로 지정해야 합니다.
두 데이터 프레임은 행 단위로 레코드를 추가하는 대신 다른 열 이름이 동일해야 하므로 별도의 열로 추가됩니다.
df = df.append(df1,ignore_index=True)
df = pd.concat([df1,df2], ignore_index=True)
언급URL : https://stackoverflow.com/questions/12850345/how-do-i-combine-two-dataframes
'programing' 카테고리의 다른 글
바우어와 함께 부트스트랩 CSS만 설치할 수 있습니까? (0) | 2023.10.29 |
---|---|
Wordpress WooCommerce 다른 가격 예약 (0) | 2023.10.29 |
웨이포인트를 저장하고 비교를 수행하는 가장 효율적인 방법은 무엇입니까? (0) | 2023.10.29 |
임의 AND 절이 있는 동적 스프링 데이터 jpa 저장소 쿼리 (0) | 2023.10.29 |
fill_parent와 wrap_content의 차이점은 무엇입니까? (0) | 2023.10.29 |