> 백엔드 개발 > 파이썬 튜토리얼 > 오류 없이 Pandas DataFrame 셀에 목록을 삽입하는 방법은 무엇입니까?

오류 없이 Pandas DataFrame 셀에 목록을 삽입하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-02 08:50:29
원래의
799명이 탐색했습니다.

How to Insert Lists into Pandas DataFrame Cells Without Errors?

Pandas 셀에 목록 삽입

문제

Python에서 Pandas DataFrame의 셀에 목록을 삽입하려고 하면 오류가 발생하거나 예상치 못한 결과. 예를 들어 DataFrame df의 셀 1B에 목록을 삽입하려고 할 때:

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']
로그인 후 복사

다음은 abc 목록을 1B에 삽입하려고 시도하지만 오류나 잘못된 삽입이 발생합니다.

  1. df.ix[1,'B'] = abc - 오류: iterable로 설정할 때 len 키와 값이 동일해야 합니다
  2. df.ix[1,'B'] = [abc ] - 하나의 요소가 있는 목록을 삽입합니다: [['foo', 'bar']]
  3. df.ix[1,'B'] = ', '.join(abc) - 문자열을 삽입합니다. "foo, bar"
  4. df.ix[1,'B'] = [', '.join(abc)] - 하나의 요소가 있는 목록을 삽입합니다: ['foo, bar']

해결책

DataFrame의 셀에 오류 없이 목록을 삽입하려면 항상 단일 값을 참조하는 at 메서드를 사용하세요.

df.at[1, 'B'] = ['foo', 'bar']
로그인 후 복사

이렇게 하면 abc 목록을 예상대로 1B로 변환합니다.

    A  B
0  12  NaN
1  23  ['foo', 'bar']
로그인 후 복사

목록 삽입을 허용하려면 DataFrame 열에 dtype=object가 있어야 합니다. 예:

df['B'] = df['B'].astype('object')
로그인 후 복사

위 내용은 오류 없이 Pandas DataFrame 셀에 목록을 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿