Python 插入来自同一数据帧的另一个片段的数据帧片段

Python 插入来自同一数据帧的另一个片段的数据帧片段,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个pandas.DataFrame像这样: df = pd.DataFrame({'val_1': [np.nan, np.nan, np.nan, 2.34, 2.21, 2.45], 'val_2': [3.1, 3.02, 3.67, np.nan , np.nan, np.nan], 'group': [1, 1, 1, 2, 2, 2]}) df val_1 val_2 group

我有一个
pandas.DataFrame
像这样:

df = pd.DataFrame({'val_1': [np.nan, np.nan, np.nan, 2.34, 2.21, 2.45], 
                   'val_2': [3.1, 3.02, 3.67, np.nan , np.nan, np.nan], 
                   'group': [1, 1, 1, 2, 2, 2]})

df

    val_1   val_2  group
0   NaN     3.10    1
1   NaN     3.02    1
2   NaN     3.67    1
3   2.34    NaN     2
4   2.21    NaN     2
5   2.45    NaN     2
我想用组
2
中列
val\u 1
中的值填充属于组
1
NaN
值。我尝试使用:

df.loc[df['group']==1, 'val_1'] = df.loc[df['group']==2, 'val_1'] 
因此,我期待以下结果:

    val_1   val_2  group
0   2.34    3.10    1
1   2.21    3.02    1
2   2.45    3.67    1
3   2.34    NaN     2
4   2.21    NaN     2
5   2.45    NaN     2
但我得到的是:

    val_1   val_2  group
0   NaN     3.10    1
1   NaN     3.02    1
2   NaN     3.67    1
3   2.34    NaN     2
4   2.21    NaN     2
5   2.45    NaN     2
如何正确执行该操作? 该解决方案需要扩展到更大的数据帧。
提前谢谢你

添加
.values

df.loc[df['group']==1, 'val_1'] = df.loc[df['group']==2, 'val_1'].values
df
Out[300]: 
   val_1  val_2  group
0   2.34   3.10      1
1   2.21   3.02      1
2   2.45   3.67      1
3   2.34    NaN      2
4   2.21    NaN      2
5   2.45    NaN      2

添加
.values

df.loc[df['group']==1, 'val_1'] = df.loc[df['group']==2, 'val_1'].values
df
Out[300]: 
   val_1  val_2  group
0   2.34   3.10      1
1   2.21   3.02      1
2   2.45   3.67      1
3   2.34    NaN      2
4   2.21    NaN      2
5   2.45    NaN      2

那么组的长度是相等的?每次“南”将等于一个组的长度?是的,它们将始终具有相同的长度!那么组的长度是相等的?每次“南”将等于一个组的长度?是的,它们将始终具有相同的长度!