我遇到了这个问题,我不知道也许我已经累了, 我有这个数据框
Dock=Fill
我需要将其“旋转”为这种形状:
tostack=pd.DataFrame([['tol', 0.001],
['solver', 'svd'],
['alpha', 0.001],
['tol', 0.01],
['solver', 'cholesky'],
['alpha', 0.001],
['tol', 1.0],
['solver', 'svd'],
['alpha', 1.0]], columns=["param_name",'param_set'])
我尝试进行枢纽操作,但是使用以下代码在行之间出现了“难缠”
tol solver alpha
0.001 'svd' 0.01
0.01 'cholesky' 0.001
1 'svd' 1.0
因此,我需要的是对项目进行迭代,并针对每3个值逐行附加值。
欢迎任何想法,
答案 0 :(得分:1)
尝试一下:
>>> new_df = tostack.groupby('param_name').agg(list)
>>> pd.DataFrame(new_df['param_set'].values.tolist(), columns=new_df.index)
param_name alpha solver tol
0 0.001 0.001 1
1 svd cholesky svd
2 0.001 0.01 1