programing

두 개의 데이터 프레임을 결합하려면 어떻게 해야 합니까?

bestprogram 2023. 10. 29. 19:53

두 개의 데이터 프레임을 결합하려면 어떻게 해야 합니까?

초기 데이터 프레임이 있습니다.D. 다음과 같이 두 개의 데이터 프레임을 추출합니다.

A = D[D.label == k]
B = D[D.label != k]

합치고 싶습니다.A그리고.B하나의 데이터 프레임으로 이동할 수 있습니다.데이터의 순서는 중요하지 않습니다.하지만 우리가 샘플을 채취할 때A그리고.B부터D, 그들은 그들의 지수를 유지합니다.D.

사용하지 않음: DataFrame.append그리고.Series.appendv1.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