실수로이 질문을 잘못된 복제본에 대한 링크와 함께 닫았습니다. 다음은 올바른 것입니다 : Pandas split column of lists into multiple columns.리스트 또는 튜플을 포함하는 팬더 열을 여러 열로 추출하는 가장 좋은 방법
df1 = pd.DataFrame(
{'vals': [['a', 'b', 'c', 'd'],['e','f','g','h']]}
)
즉 :
vals
0 [a, b, c, d]
1 [e, f, g, h]
I 추가한다고 가정
I 한 컬럼 또는 튜플 (공지 및 동일한 길이), 예를 들면리스트 인의 dataframe을 "vals"의 값을 별도의 명명 된 열로 변환합니다.
for i in range(df1.shape[0]):
for j in range(0,4):
df1.loc[i, 'vals_'+j] = df1.loc[i, 'vals'] [j]
결과를 원하는대로 : 나는 행을 반복하여 서투르게이 작업을 수행 할 수 있습니다
vals vals_0 vals_1 vals_2 vals_3
0 [a, b, c, d] a b c d
1 [e, f, g, h] e f g h
깔끔한 (벡터화) 방법이 있나요? []을 사용했지만 오류가 발생했습니다.
for j in range (0,4)
df1['vals_'+str(j)] = df1['vals'][j]
준다 : 팬더 직렬/dataframe보다는 열 함량에 [] 연산자를 적용하려고 같이
ValueError: Length of values does not match length of index
것 같습니다.
'df1.vals.apply (pd.Series)'는 대부분의 방법을 제공합니다. –
@ andrew_reece 벡터화 된 것입니까? 그는 4 개의 다른 시리즈를 만들어야 할 것입니다. – FredMan