我正在嘗試將一個數(shù)據(jù)框中的行添加到另一個空數(shù)據(jù)框中;for index, rows in data.iterrows(): new = list(rows) var = new[0] for i in ran: if var in ran: empty_df.append(new) 我選擇了一個隨機的第一列條目,例如“image1.png”,然后想要選擇第一列中包含“image1”的所有行。然后我想將這些行移動到一個新的數(shù)據(jù)框。new = ['image1.png', 1023, 554, 1126, 646, 'nucleus'] ran = 'image1.png'當(dāng)我想要的時候,輸出是一個空的數(shù)據(jù)框;image1.png, 1023, 554, 1126, 646, nucleusimage1.png, 1023, 554, 116, 646, nucleusimage1.png, 103, 544, 1126, 6, nucleusimage1.png, 10, 354, 1556, 56, nucleusimage1.png, 13, 55, 1216, 46, nucleusimage1.png, 103, 54, 116, 326, nucleus 有人能幫忙嗎?
3 回答

一只甜甜圈
TA貢獻1836條經(jīng)驗 獲得超5個贊
您可以通過更改來修復(fù)您的代碼:
empty_df.append(new)
到:
empty_df = empty_df.append(new)
但我認(rèn)為你不應(yīng)該那樣做。您可以更輕松地復(fù)制整個數(shù)據(jù)框
empty_df = data.copy()

嗶嗶one
TA貢獻1854條經(jīng)驗 獲得超8個贊
要更改列,請假設(shè)存儲圖像名稱的列的名稱是imageName
變量,而運行的是變量。
new_df = data.loc[data['imageName'] == ran ] #if ran is a variable

jeck貓
TA貢獻1909條經(jīng)驗 獲得超7個贊
我相信您所做的所有事情都可以通過基于以下條件過濾新的 DF 來簡化 ran
empty_df = data[data.iloc[:,0] == ran]
empty_df.head()
Output:
0 1 2 3 4 5
0 image1.png 1023 554 1126 646 nucleus
1 image1.png 1023 554 116 646 nucleus
2 image1.png 103 544 1126 6 nucleus
3 image1.png 10 354 1556 56 nucleus
4 image1.png 13 55 1216 46 nucleus
添加回答
舉報
0/150
提交
取消