"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 오류 없이 Pandas DataFrame 셀에 목록을 삽입하는 방법은 무엇입니까?

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

2024-11-06에 게시됨
검색:570

How to Insert Lists into Pandas DataFrame Cells Without Errors?

Pandas 셀에 목록 삽입

문제

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

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']

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

  1. df.ix[1 ,'B'] = abc - 오류: iterable
  2. df.ix[1,'B'] = [abc]로 설정할 때 len 키와 값이 동일해야 합니다. - 하나의 요소가 있는 목록을 삽입합니다. [['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')
최신 튜토리얼 더>

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

Copyright© 2022 湘ICP备2022001581号-3