안녕하세요. split, for, if문 최근에 연습 중인 입문자 입니다.
df = pd.DataFrame({"idx5":[ "ex1.x.1",
"ex1.x",
"ex2.x.2",
"ex2.x.3",
"ex1.x.2",
"ex2.x",
"ex2.x.4",
"ex2.x.5",
"ex1.x.3",
"ex3.x",
"ex2.x.6",
"ex2.x.7",
"ex1.x.4",
"ex4.x",
"ex2.x.8",
"ex2.x.9",
"ex1.x.5",
"ex5.x",
"ex2.x.10",
"ex2.x.11",
"ex1.x.6",
"ex6.x",
"ex2.x.12",
"ex2.x.13",
"ex1.x.7",
]})
for i in range(len(df)-1) :
df.at[i+1, "idx6"], df.at[i+1, "idx7"], df.at[i+1, "idx8"] = df.at[i+1, "idx5"].split(".")
ValueError: not enough values to unpack (expected 3, got 2)
위의 에러 코드가 나오는데요. 뭔가 "."
개수가 달라도 split을 할 수 있는 방법이 있을까요?
궁극적으로는 아래 처럼 idx5만 가지고 idx6, idx7, idx8을 만들고 싶어서요. idx8의 빈공간에는 임의의 문자를 동일하게 넣어주셔도 상관은 없습니다..!
idx5 idx6 idx7 idx8
ex1.x.1 ex1 x 1
ex1.x ex1 x
ex2.x.2 ex2 x 2
ex2.x.3 ex2 x 3
ex1.x.2 ex1 x 2
ex2.x ex2 x
ex2.x.4 ex2 x 4
ex2.x.5 ex2 x 5
ex1.x.3 ex1 x 3
ex3.x ex3 x
ex2.x.6 ex2 x 6
ex2.x.7 ex2 x 7
ex1.x.4 ex1 x 4
ex4.x ex4 x
ex2.x.8 ex2 x 8
ex2.x.9 ex2 x 9
ex1.x.5 ex1 x 5
ex5.x ex5 x
ex2.x.10 ex2 x 10
ex2.x.11 ex2 x 11
ex1.x.6 ex1 x 6
ex6.x ex6 x
ex2.x.12 ex2 x 12
ex2.x.13 ex2 x 13
ex1.x.7 ex1 x 7