>백엔드 개발 >파이썬 튜토리얼 >Python Pandas Dataframe의 특정 셀에 목록을 어떻게 삽입할 수 있나요?

Python Pandas Dataframe의 특정 셀에 목록을 어떻게 삽입할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-29 13:34:29449검색

How Can I Insert a List into a Specific Cell in a Python Pandas Dataframe?

Python Pandas Dataframe의 셀에 목록 삽입

Pandas Dataframe의 특정 셀에 목록을 삽입하는 것은 까다로운 작업일 수 있습니다. 주어진 예를 기반으로 다양한 접근 방식과 잠재적인 문제를 살펴보겠습니다.

원래 문제:

다음 구조의 데이터 프레임 'df':

    A  B
0  12  NaN
1  23  NaN

그리고 ['foo', 'bar']를 포함하는 'abc' 목록. 목표는 이 목록을 셀 1B에 삽입하는 것입니다.

노력:

  1. df.ix[1,'B'] = abc: ValueError 발생 키와 값의 길이가 다르기 때문입니다.
  2. df.ix[1,'B'] = [abc]: 개별 요소 대신 'abc' 목록을 포함하는 목록을 삽입합니다.
  3. df.ix[1,'B'] = ', '.join(abc): 목록 대신 문자열을 삽입합니다.
  4. df.ix[1,'B'] = [', '. Join(abc)]: 결합된 문자열을 포함하는 단일 요소 목록을 삽입합니다.

해결책:

더 이상 사용되지 않는 set_value 메서드가 at으로 대체되었습니다. at을 사용하면 단일 값 설정이 보장됩니다.

<code class="python">df.at[1, 'B'] = ['foo', 'bar']</code>

추가 고려 사항:

  • 목록 삽입을 수용하려면 대상 열에 dtype=object가 있는지 확인하세요.
  • 정수 또는 문자열 값이 포함된 셀에 목록을 삽입하는 데 동일한 접근 방식을 적용할 수 있습니다.
  • 그러나 혼합 데이터 유형(정수 및 문자열)이 포함된 열에 목록을 삽입하면 ValueError가 발생할 수 있습니다. 발생하다. 이 문제는 삽입하기 전에 열을 dtype=object로 변환하여 해결할 수 있습니다.

업데이트된 예:

df2.loc에 'abc' 목록 삽입[ 1,'B'] 및 df3.loc[1,'B']:

<code class="python">df2 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla']
})

df3 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla bla'],
    'D': [['item1', 'item2'], [11, 12, 13]]
})

df2.loc[1, 'B'] = ['foo', 'bar']
df3.loc[1, 'B'] = ['foo', 'bar']</code>

위 내용은 Python Pandas Dataframe의 특정 셀에 목록을 어떻게 삽입할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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