>  기사  >  백엔드 개발  >  Python에서 DataFrame 셀에 목록을 성공적으로 삽입하는 방법은 무엇입니까?

Python에서 DataFrame 셀에 목록을 성공적으로 삽입하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-29 18:50:02745검색

How to Successfully Insert a List into a DataFrame Cell in Python?

DataFrame의 셀에 목록 삽입

Python pandas에서 희소 데이터를 처리할 때 특정 셀에 목록을 삽입하는 것이 어려울 수 있습니다. df.ix[1,'B'] = abc와 같은 일반적인 방법을 사용하여 이러한 작업을 시도하면 키 길이 불일치로 인해 오류가 발생하는 경우가 많습니다.

대체 솔루션 및 제한 사항

목록을 추가 대괄호(예: df.ix[1,'B'] = [abc])로 묶거나 문자열 표현(예: df.ix[1,'B'] = ', '.join)을 사용하면 오류가 발생합니다. (abc))는 추가 요소를 도입하거나 의도한 데이터 구조를 변경하므로 만족스럽지 않습니다.

목록 삽입에 df.at 사용

더 효과적인 접근 방식은 대신 df.at를 사용하는 것입니다. df.ix 또는 df.loc. df.at는 특히 단일 셀을 대상으로 하여 앞서 언급한 오류로 이어질 수 있는 모호성을 제거합니다.

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

# Create a dataframe with mixed data types
df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})

# Insert a list into cell 1B
df.at[1, 'B'] = ['m', 'n']

print(df)</code>

이 작업은 오류 없이 셀 1B에 ['m', 'n']을 성공적으로 삽입합니다.

열 Dtype 호환성 보장

목록을 삽입하려는 열의 dtype이 'object'로 설정되어 있어야 한다는 점에 유의하는 것이 중요합니다. 열에 'int64'와 같이 다른 dtype이 있으면 오류가 발생합니다. 이 문제를 해결하려면 삽입을 시도하기 전에 열의 dtype을 변환하면 됩니다.

<code class="python">df = pd.DataFrame(data={'A': [1, 2, 3], 'B': [1,2,3]})
df['B'] = df['B'].astype('object')

# Now, list insertion will work as expected
df.at[1, 'B'] = [1, 2, 3]</code>

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

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