假設我有一個像這樣的資料框:
Col1 Col2 Tag_history New_tag Col5 created
0 Name1 Value1 Tag10 Tag10 Rank4 2021-03-21 12:58:09
1 Name1 Value2 Tag10 Tag10 Rank4 2021-03-21 13:58:09
2 Name1 Value3 Tag10 Tag10 Rank4 2021-03-21 14:58:09
3 Name2 Value1 Tag8 Tag9 Rank1 2021-03-21 10:58:09
4 Name2 Value2 Tag8 Tag9 Rank1 2021-03-21 11:58:09
5 Name2 Value4 Tag8 Tag9 Rank1 2021-03-21 12:58:09
6 Name2 Value5 Tag8 Tag9 Rank1 2021-03-21 13:58:09
因此,我想比較列 Tag_history 和新標簽,如果標簽已更改,我想添加一個新行,該行在 Tag_history 中也顯示新標簽。例如對于 Name2,標簽已從 Tag8 更改為 Tag9,所以我希望我的 df 看起來像這樣:
Col1 Col2 Tag_history New_tag Col5 created
0 Name1 Value1 Tag10 Tag10 Rank4 2021-03-21 12:58:09
1 Name1 Value2 Tag10 Tag10 Rank4 2021-03-21 13:58:09
2 Name1 Value3 Tag10 Tag10 Rank4 2021-03-21 14:58:09
3 Name2 Value1 Tag8 Tag9 Rank1 2021-03-21 10:58:09
4 Name2 Value2 Tag8 Tag9 Rank1 2021-03-21 11:58:09
5 Name2 Value4 Tag8 Tag9 Rank1 2021-03-21 12:58:09
6 Name2 Value5 Tag8 Tag9 Rank1 2021-03-21 13:58:09
7 Name2 IDLE Tag9 Tag9 Rank1 2022-01-24 16:50:00 (current datetime)
uj5u.com熱心網友回復:
首先,我不建議使用任何回圈,因為它們不是很有效。
different_value = df[~(df['Tag_history'] == df['New_tag'])] #First check and search for rows that contains different "Tag_history" and "New_tag"
different_value.loc[:,'New_tag'] = different_value['Tag_history'] #Create the new rows
df = df.append(different_value, ignore_index = True) # append dataframes
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420496.html
標籤:
上一篇:如何合并熊貓中具有相似資料的行
