熊猫,遍历datafralme项并基于列值构建新的数据框

时间:2020-03-13 16:39:38

标签: python pandas

我遇到了这个问题,我不知道也许我已经累了, 我有这个数据框

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个值逐行附加值。

欢迎任何想法,

1 个答案:

答案 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