如何删除' '连接pd df / python3 jupyter后的数字

时间:2018-06-05 07:01:41

标签: python pandas dataframe concatenation jupyter-notebook

我在python3中有两个dfs,jupyter。合并后,有'''围绕所有数字,我想知道如何删除它们。 THX!

我尝试了不同的方法来连接...

new2['mer']=new2[['imgId_f','label','.jpg']].astype(str).apply(lambda r: "".join(r), axis=1)

new2['mer']=new2[['imgId_f','label']].astype(str).sum(axis=1) 

new2['mer']=new2['imageId']+new2['labelId'].map(str)+new2['.jpg']

但没有任何差异,他们都有''数字周围。

df看起来像这样:

    id   label                   imgId_f        .jpg    mer
0   1   [95, 66, 137, 70, 20]   id_1_labels_    .jpg    id_1_labels_['95', '66', '137', '70', '20'].jpg

' 95'在" id_1_labels _ [' 95',' 66',' 137',' 70',' 20&#39 ;] JPG"

是我遇到问题的地方

2 个答案:

答案 0 :(得分:0)

我认为列label中的问题值是数字列表。

可能的解决方案是将数字转换为string并通过str.join合并在一起:

new2['mer'] = new2['imageId'] + 
              new2['label'].map(lambda x: [str(i) for i in x]).str.join(',') + 
              new2['.jpg']
print (new2)
   id                  label       imageId  .jpg  \
0   1  [95, 66, 137, 70, 20]  id_1_labels_  .jpg   

                               mer  
0  id_1_labels_95,66,137,70,20.jpg  

答案 1 :(得分:0)

在@DyZ的分享链接之后,我认为我没有使用正确的关键字进行搜索。我也找到了这个解决方案:

new2['mer'] = new2['mer'].apply(lambda s:s.replace("'", ''))