Вот пример использования pandas для загрузки ваших данных из .csv и создания желаемого результата. Я использовал np.nan, чтобы заполнить пустые места «пустыми» данными.
import pandas as pd
import numpy as np
df = pd.read_csv(r"<PATH TO YOUR CSV>")
for row, item in enumerate(df["column-name"]):
l = item.split(",")
for idx, elem in enumerate(l):
col = "column-name-%s" % idx
if col not in df.columns:
df[col] = np.nan
df[col][row] = elem
df = df.drop(columns=["column-name"])
print(df)
Здесь мы сначала перебираем все строки в нашем фрейме данных для столбца «имя-столбца», чтобы получить значения, разделенные запятыми, и тамномер строкиПосле этого мы разбиваем его, чтобы получить список всех чисел в этой ячейке.
Теперь мы просматриваем наш список и запоминаем, в какой позиции число (idx), поэтому мы знаем, к какому столбцу оно принадлежит. Теперь, когда мы знаем столбец, мы проверяем, существует ли он уже. Если он существует, мы просто добавляем наше значение в соответствующую строку. В противном случае мы создаем новый столбец и сначала заполняем его пустыми данными.
Затем получаем следующий вывод:
col vvs column-name-0 column-name-1 column-name-2 column-name-3
0 x12 ab 2.0 3.0 4.0 NaN
1 d3 fd 4.0 NaN NaN NaN
2 3fd cf 2.0 5.0 8.0 6.0
3 5r4 mg 3.0 2.0 NaN NaN
Надеюсь, это поможет.