У вашей проблемы есть 2 аспекта:
- Извлечение первого (и единственного) элемента каждого списка в вашей серии.
- Преобразование вашей серии в числовой.
Таким образом, вы можете использовать аксессор str
, за которым следует pd.to_numeric
:
df = pd.DataFrame({'x': [['0.12312'], ['-5.32454'], ['0.563412'], ['-3.918324']]})
df['x'] = pd.to_numeric(df['x'].str[0])
print(df, df.dtypes, sep='\n'*2)
x
0 0.123120
1 -5.324540
2 0.563412
3 -3.918324
x float64
dtype: object