亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據字符串合并具有不同長度的兩個數據幀包含

如何根據字符串合并具有不同長度的兩個數據幀包含

皈依舞 2022-05-24 16:21:12
我正在從事醫學成像中的數據增強工作。我在 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)


查看完整回答
反對 回復 2022-05-24
  • 1 回答
  • 0 關注
  • 88 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號