목록 'abc'와 데이터 프레임 'df'가 있습니다.
abc = ['foo', 'bar']
df =
A B
0 12 NaN
1 23 NaN
목록을 셀 1B에 삽입하고 싶으므로이 결과를 원합니다.
A B
0 12 NaN
1 23 ['foo', 'bar']
할 수 있을까요?
1) 이것을 사용하는 경우 :
df.ix[1,'B'] = abc
다음과 같은 오류 메시지가 나타납니다.
ValueError: Must have equal len keys and value when setting with an iterable
두 개의 요소가있는 목록을 셀이 아닌 행 / 열에 삽입하려고하기 때문입니다.
2) 이것을 사용하는 경우 :
df.ix[1,'B'] = [abc]
그런 다음 'abc'목록 ( [['foo', 'bar']]
) 인 요소가 하나만있는 목록을 삽입합니다 .
3) 이것을 사용하는 경우 :
df.ix[1,'B'] = ', '.join(abc)
그런 다음 foo, bar
목록이 아닌 문자열 (( )을 삽입 합니다.
4) 이것을 사용하는 경우 :
df.ix[1,'B'] = [', '.join(abc)]
그런 다음 목록을 삽입하지만 하나의 요소 ( ['foo, bar']
) 만 있고 내가 원하는대로 두 개는 없습니다 ( ['foo', 'bar']
).
도와 줘서 고마워!
편집하다
내 새 데이터 프레임 및 이전 목록 :
abc = ['foo', 'bar']
df2 =
A B C
0 12 NaN 'bla'
1 23 NaN 'bla bla'
다른 데이터 프레임 :
df3 =
A B C D
0 12 NaN 'bla' ['item1', 'item2']
1 23 NaN 'bla bla' [11, 12, 13]
'abc'목록을 df2.loc[1,'B']
및 / 또는에 삽입하고 싶습니다 df3.loc[1,'B']
.
데이터 프레임에 정수 값 및 / 또는 NaN 값 및 / 또는 목록 값만있는 열이있는 경우 목록을 셀에 삽입하면 완벽하게 작동합니다. 데이터 프레임에 문자열 값 및 / 또는 NaN 값 및 / 또는 목록 값만있는 열이있는 경우 목록을 셀에 삽입하면 완벽하게 작동합니다. 그러나 데이터 프레임에 정수 및 문자열 값이있는 열과 다른 열이있는 경우 다음을 사용하면 오류 메시지가 나타납니다. df2.loc[1,'B'] = abc
또는 df3.loc[1,'B'] = abc
.
다른 데이터 프레임 :
df4 =
A B
0 'bla' NaN
1 'bla bla' NaN
이 삽입물은 완벽하게 작동합니다 : df.loc[1,'B'] = abc
또는 df4.loc[1,'B'] = abc
.
0.15.0
.df.loc[1,'b'] = ['foo','bar']