同一行的多级数据帧

时间:2019-01-17 21:12:03

标签: python python-3.x pandas indexing

我有一个多级数据帧df1:

FE             F1        F2
C_Step                     
UNKNOWN  0.360360  0.155039
fair     0.135135  0.348837
good     0.180180  0.310078
poor     0.324324  0.186047

我想用UNKNOWN索引行填充所有数据框。在结果数据框中,所有行都是相同的。

所需的数据帧df1:

FE             F1        F2
C_Step                     
UNKNOWN  0.360360  0.155039
fair     0.360360  0.155039
good     0.360360  0.155039
poor     0.360360  0.155039

1 个答案:

答案 0 :(得分:2)

这不是不是多级数据框。您的数据框仅具有其indexcolumns属性的名称。

您可以使用列表或NumPy数组进行分配,使用iloc来选择第一行。

df = pd.DataFrame({'F1': [0.36036, 0.36036, 0.36036, 0.36036],
                   'F2': [0.155039, 0.155039, 0.155039, 0.155039]},
                  index=pd.Index(['UNKNOWN', 'fair', 'good', 'poor'], name='C_step'),
                  columns=pd.Index(['F1', 'F2'], name='FE'))
print(df)
# FE             F1        F2
# C_Step                     
# UNKNOWN  0.360360  0.155039
# fair     0.135135  0.348837
# good     0.180180  0.310078
# poor     0.324324  0.186047

df[['F1', 'F2']] = df.iloc[0].values

print(df)
# FE            F1        F2
# C_Step                    
# UNKNOWN  0.36036  0.155039
# fair     0.36036  0.155039
# good     0.36036  0.155039
# poor     0.36036  0.155039