У меня есть некоторые измерения, организованные в *. Csv файлах следующим образом:
m_number,value
0,0.154
1,0.785
…
55,0.578
NaN,NaN
0,1.214
1,0.742
…
Таким образом, всегда есть набор x измерений ( x должен быть постоянным внутри одного файла, но это не гарантировано, и я должен проверить это число), разделенных NaN line.
После прочтения данных в фрейм данных я хочу реорганизовать их для последующего использования:
m_number value 1 value 2 value 3 value 4
0 0 0.154 0.214 0.229 0.234
1 1 0.785 0.742 0.714 0.771
...
55 55 0.578 0.647 0.597 0.623
Каждый набор измерений должен состоять из одного столбца.
Вот фрагмент кода:
split_index = df.index[df_benchmark['id'].isnull()]
df_sliced = pd.DataFrame()
for i, index in enumerate(split_index):
if i == 0:
df_sliced = df.loc[0:index - 1].copy()
else:
#ToDo: Rename first column to 'value 1' if more than 1 measurement
temp = df['value'].loc[0:index - 1].copy()
temp.reset_index(drop=True, inplace=True)
df_sliced['value '+str(i)] = temp
df.drop(df.index[0:index - split_index[i - 1]], inplace=True)
Код работает, но мне не нравится мой текущий подход. Поэтому я спрашиваю, есть ли лучшее и более элегантное решение этой проблемы.
Лучший,
Julz