将对象的子集提取为字符串

时间:2017-04-11 14:51:53

标签: python string pandas

我想仅为我的变量提取1841729699_001。 我的变量的类型是一个对象如下:

coords[3]
1    1841729699_001
Name: 3, dtype: object

然后我试图将其转换为字符串:

str(coords[3])
'1    1841729699_001\nName: 3, dtype: object'
Then l tried 

X=str(list(coords[3])).replace('[','').replace(']','')

打印

"'1841729699_001'"

但是当我保存在文件中时,例如:

import cv2
cv2.imwrite(str(X) + ".png",  image)

cv2.imwrite(X+ ".png",  image)

将图像保存如下:

'1841729699_001'.png

但我正在寻找这种格式

  1841729699_001.png

1 个答案:

答案 0 :(得分:2)

我认为您需要Series.item才能从一个项Series标量返回:

coords[3].item() + ".png"

loc也会返回标量:

coords.loc[1, 3] +  ".png"

样品:

coords = pd.DataFrame({3:['1841729699_00']}, index=[1])
print (coords)
               3
1  1841729699_00

print (coords[3].item() + ".png")
1841729699_00.png

print (coords.loc[1, 3] +  ".png")
1841729699_00.png

在您的解决方案中添加strip

X=str(list(coords[3])).replace('[','').replace(']','').strip("'")