>  기사  >  백엔드 개발  >  키나 열의 차이를 고려하지 않고 Pandas DataFrame을 어떻게 수평으로 연결할 수 있나요?

키나 열의 차이를 고려하지 않고 Pandas DataFrame을 어떻게 수평으로 연결할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-10-27 21:04:30116검색

How can I horizontally concatenate Pandas DataFrames without considering keys or column differences?

Pandas에서 가로로 DataFrame 연결

키와 열 수의 잠재적인 차이를 고려하지 않고 두 DataFrame을 가로로 연결하려면 연결을 사용하세요. axis=1 매개변수를 사용하여 함수를 실행합니다. 이 매개변수는 연결이 열 단위로 수행되어야 함을 지정합니다.

예:

행 개수는 같지만 서로 다른 두 DataFrame, df_a 및 df_b를 생각해 보세요. 열 수:

<code class="python">import pandas as pd

dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'mz': [500.0, 500.5, 501.0]}
df_a = pd.DataFrame(dict_data)

dict_data = {'Treatment1': ['C', 'C', 'C'], 'Biorep1': ['A', 'A', 'A'], 'Techrep1': [1, 1, 1], 'AAseq1': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'inte1': [1100.0, 1050.0, 1010.0]}
df_b = pd.DataFrame(dict_data)</code>

이 DataFrame을 가로로 연결하려면 다음 코드를 사용하세요.

<code class="python">pd.concat([df_a, df_b], axis=1)</code>

이렇게 하면 원본 DataFrame과 행 수가 동일한 새 DataFrame이 생성되고 두 DataFrame의 열 합계와 동일한 열 수. 결과 DataFrame은 다음과 같습니다.

       AAseq Biorep  Techrep Treatment     mz      AAseq1 Biorep1  Techrep1  Treatment1  inte1
0  ELVISLIVES      A        1         C  500.0  ELVISLIVES       A         1          C   1100
1  ELVISLIVES      A        1         C  500.5  ELVISLIVES       A         1          C   1050
2  ELVISLIVES      A        1         C  501.0  ELVISLIVES       A         1          C   1010

대체 방법:

특정 요구 사항에 따라 DataFrame을 수평으로 연결하는 대체 방법이 있습니다.

  • 인덱스로 병합: DataFrame의 행 수가 동일하고 열 이름이 충돌하지 않는 경우 left_index=True 및 right_index=True로 병합 기능을 사용할 수 있습니다. 이렇게 하면 인덱스를 기준으로 DataFrame이 병합됩니다.
  • Join: 병합 방법과 유사하게 Join 함수를 사용하여 DataFrame을 수평으로 연결할 수도 있습니다. DataFrame을 다른 인덱스와 연결하려는 경우 특히 유용합니다.

위 내용은 키나 열의 차이를 고려하지 않고 Pandas DataFrame을 어떻게 수평으로 연결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.