我正在从事医学成像中的数据增强。我在Pandas数据框中有原始100个图像名称,它们的标签分别为(0和1)。我添加了新图像及其后缀名。
我的原始图像具有诸如Image1,Image2,Image3,Image4的名称,而增强数据具有诸如Image1_1,Image1_2,Image2_1,Image2_2,Image3_1,Image3_2,Image4_1,Image4_2等的名称。
我的Pandas DataFrame包含带有两列的注释:文件名和标签。
我的另一个Pandas Dataframe仅包含原始文件名和扩展文件名,而没有标签。
filename = [f for f in os.listdir(path_to_dir_with_augmented_images)]
annotations = pd.read_csv("annotations.csv", names=["filename", "label"])
filenames = []
for file in filename:
filenames.append(file)
data = pd.DataFrame(filenames, columns=["filename"]
我的注释文件有100个长度,数据文件有1000个以上。
我想要输出诸如:
filename, label
Image1, 0
Image1aa1, 0
Image1aa2, 0
Image2, 1
Image2baa1, 1
Image2baasa2, 1
如何在熊猫中做到这一点?
答案 0 :(得分:0)
import pandas as pd
#create dummy data
data = pd.DataFrame([['Image1aa1'], ['Image1aa2'], ['Image2baa1'], ['Image2baasa2']], columns=['filename'])
annotations = pd.DataFrame([['Image1',1],['Image2',0]], columns=['filename','label'])
for name, l in zip(annotations.filename,annotations.label):
temp = data[data['filename'].str.match(name)]
temp['label'] = l
annotations = annotations.append(temp)