我正在从事医学成像中的数据增强工作。我在 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, labelImage1, 0Image1aa1, 0Image1aa2, 0Image2, 1Image2baa1, 1Image2baasa2, 1如何在熊猫中做到这一点?
1 回答

有只小跳蛙
TA贡献1824条经验 获得超8个赞
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)
添加回答
举报
0/150
提交
取消