Python 如何复制行

Python 如何复制行,python,pandas,Python,Pandas,我的数据如下所示: '#filename' file_size file_attributes region_count region_id region_shape_attributes region_attributes digits digit_length 0030004489.jpg 25188 {} 3 1 {"name":"rect","x":143,"y"

我的数据如下所示:

  '#filename'   file_size   file_attributes  region_count   region_id    region_shape_attributes     region_attributes  digits  digit_length

  0030004489.jpg    25188   {}                          3            1  {"name":"rect","x":143,"y":86,"width":201,"height":38}  {"class_type":"Medium Box"} 33328   6
  0030004489.jpg    25188   {}                          3            0  {"name":"rect","x":143,"y":75,"width":200,"height":68}  {"class_type":"Big Box"}    33328   6
  0030004745.jpg    23632   {}                          3            2  {"name":"rect","x":140,"y":61,"width":174,"height":47}  {"class_type":"Small Box"}  7631    8
  0030004745.jpg    23632   {}                          3            1  {"name":"rect","x":84,"y":62,"width":268,"height":45}   {"class_type":"Medium Box"} 7631    8
  0030004745.jpg    23632   {}                          3            0  {"name":"rect","x":86,"y":37,"width":266,"height":91}   {"class_type":"Big Box"}    7631    8
  0030005942.jpg    24178   {}                          3            2  {"name":"rect","x":268,"y":66,"width":84,"height":35}   {"class_type":"Small Box"}  196     4
  0030005942.jpg    24178   {}                          3            1  {"name":"rect","x":189,"y":66,"width":176,"height":35}  {"class_type":"Medium Box"} 196     4
  0030005942.jpg    24178   {}                          3            0  {"name":"rect","x":191,"y":48,"width":175,"height":64}  {"class_type":"Big Box"}    196     4
  0030012268.jpg    25450   {}                          3            2  {"name":"rect","x":218,"y":46,"width":113,"height":35}  {"class_type":"Small Box"}  369     6
  0030012268.jpg    25450   {}                          3            1  {"name":"rect","x":173,"y":46,"width":174,"height":35}  {"class_type":"Medium Box"} 369     6
  0030012268.jpg    25450   {}                          3            0  {"name":"rect","x":174,"y":35,"width":173,"height":45}  {"class_type":"Big Box"}    369     6
    for f in file_name:
        df=df.append((df.loc[(df['#filename']) == (str(f).replace("A_",""))].iloc[0]*100))
        df.to_csv("test.csv")
        break
如何复制类类型为small box的行,并将其更改为向复制行的文件名追加一个?我尝试复制如下行:

  '#filename'   file_size   file_attributes  region_count   region_id    region_shape_attributes     region_attributes  digits  digit_length

  0030004489.jpg    25188   {}                          3            1  {"name":"rect","x":143,"y":86,"width":201,"height":38}  {"class_type":"Medium Box"} 33328   6
  0030004489.jpg    25188   {}                          3            0  {"name":"rect","x":143,"y":75,"width":200,"height":68}  {"class_type":"Big Box"}    33328   6
  0030004745.jpg    23632   {}                          3            2  {"name":"rect","x":140,"y":61,"width":174,"height":47}  {"class_type":"Small Box"}  7631    8
  0030004745.jpg    23632   {}                          3            1  {"name":"rect","x":84,"y":62,"width":268,"height":45}   {"class_type":"Medium Box"} 7631    8
  0030004745.jpg    23632   {}                          3            0  {"name":"rect","x":86,"y":37,"width":266,"height":91}   {"class_type":"Big Box"}    7631    8
  0030005942.jpg    24178   {}                          3            2  {"name":"rect","x":268,"y":66,"width":84,"height":35}   {"class_type":"Small Box"}  196     4
  0030005942.jpg    24178   {}                          3            1  {"name":"rect","x":189,"y":66,"width":176,"height":35}  {"class_type":"Medium Box"} 196     4
  0030005942.jpg    24178   {}                          3            0  {"name":"rect","x":191,"y":48,"width":175,"height":64}  {"class_type":"Big Box"}    196     4
  0030012268.jpg    25450   {}                          3            2  {"name":"rect","x":218,"y":46,"width":113,"height":35}  {"class_type":"Small Box"}  369     6
  0030012268.jpg    25450   {}                          3            1  {"name":"rect","x":173,"y":46,"width":174,"height":35}  {"class_type":"Medium Box"} 369     6
  0030012268.jpg    25450   {}                          3            0  {"name":"rect","x":174,"y":35,"width":173,"height":45}  {"class_type":"Big Box"}    369     6
    for f in file_name:
        df=df.append((df.loc[(df['#filename']) == (str(f).replace("A_",""))].iloc[0]*100))
        df.to_csv("test.csv")
        break
但问题是它会将所有复制行追加到一个单元格中,如下所示: 试试这个

df = #your Dtaframe

df2 = df[(df['digit_length']) == '{"class_type":"Small Box"}']
df2['#filename'] = df2['#filename'].apply(lambda x:"A_"+x)

replicated_df = pd.concat([df,df2])

以下是您可以使用的方法:


您所说的“更改附加A”是什么意思?例如,如果文件名为0030012268.jpg,则复制的行将具有文件名A_0030012268.jpg当我将其保存到csv时,没有新生成/复制的行。此行工作正常。但问题是,对于文件,它复制的行可以是小的、大的、中的。另一方面,我希望它能为所有类复制行,但我认为这不应该发生,因为我们正在对整个数据帧执行
.sample
。你能指出几行发生这种情况的地方吗?可以在问题中加上它。