"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python Pandas Dataframe의 특정 셀에 목록을 어떻게 삽입할 수 있나요?

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

2024년 11월 18일에 게시됨
검색:387

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

Python Pandas 데이터 프레임의 셀에 목록 삽입

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

원래 문제:

다음 구조를 갖는 데이터 프레임 'df':

    A  B
0  12  NaN
1  23  NaN

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

Efforts:

  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)]: 조인된 항목을 포함하는 단일 요소 목록을 삽입합니다. string.

해결책:

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

df.at[1, 'B'] = ['foo', 'bar']

추가 고려 사항:

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

업데이트된 예:

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

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']
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3