首页 > 解决方案 > 将数据行从一个 pandas 数据帧复制到另一个

问题描述

这里是熊猫新手。我将一个excel数据导入pandas,我想将特定行(占位符)的数据子集从一个数据框(Error_data1)复制到另一个存在“占位符”的数据框(Error_data2)。

这是 Error_data1 的前 4 行(它有 150 行)

index    student  Error1   Error2    Error3    Error4   Error5
0        Henry    2.5647   -0.2145   1.3524    2.0124   6.2013
1        John     -0.0124  1.0365    3.2145    4.0211   -5.0124
2        Terry    1.1120   2.2154    -6.2013   1.2032   2.3321
3        Gerald   9.2105   1.0212    3.2548    3.6478   4.1020

这是 Error_data2 的前 5 行(它有 358 行)

index  Day   Time  student  Error1   Error2    Error3    Error4   Error5
0      Mon   01:00  Terry    
1      Tue   05:15  John     
2      Wed   05:25  john     
3      Wed   12:15  Gerald   
4      Thur  11:00   Henry

这是我尝试过的代码

for i in range(len(Error_data1)):
    if Error_data1['Student'][i] == Error_data2['Student'][i]:
        a = Error_data1.iloc[i,1:6]
        Error_data2.iloc[i,4:9] = a

我希望 Error_data2 看起来像这样:

index  Day   Time  student  Error1   Error2    Error3    Error4   Error5
0      Mon   01:00  Terry    1.1120   2.2154    -6.2013   1.2032   2.3321
1      Tue   05:15  John    -0.0124  1.0365    3.2145    4.0211   -5.0124 
2      Wed   05:25  john    -0.0124  1.0365    3.2145    4.0211   -5.0124 
3      Wed   12:15  Gerald   9.2105   1.0212    3.2548    3.6478   4.1020 
4      Thur  11:00   Henry   2.5647   -0.2145   1.3524    2.0124   6.2013

标签: python-3.xpandas

解决方案


您可以尝试合并学生姓名上的两个数据框。


combined = Error_data1.merge(Error_data2, on='student', how='left').fillna(0)


推荐阅读