У меня есть фрейм данных с несколькими столбцами, и я хотел заменить только максимальное значение столбец «Представления» тремя различными столбцами, основанными на определенных условиях.
import pandas as PD
data = [["1.Blend Of Vdx Display","DISPLAY","Features","CPE",1255,778732,13373,7142],["1.Blend Of Vdx Display","DISPLAY","TVC","CPE",10479,778732,13373,7142],
["2.Mobile VDX","Display","Features","CPE",168,1000,150,160],["2.Mobile VDX","Display","Features","CPE",2309,1000,150,160]]
df = pd.DataFrame(data,columns=['Placement#Name','PRODUCT','VIDEONAME','COST_TYPE',views','IMPRESSIONS','ENGAGEMENTS','DPEENGAMENTS'])
print(df)
Placement#Name PRODUCT VIDEONAME COST_TYPE views IMPRESSIONS \
0 1.Blend Of Vdx Display DISPLAY Features CPE 1255 778732
1 1.Blend Of Vdx Display DISPLAY TVC CPE 10479 778732
2 2.Mobile VDX DISPLAY Features CPE 168 1000
3 2.Mobile VDX DISPLAY Features CPE 2309 1000
ENGAGEMENTS DPEENGAMENTS
0 13373 7142
1 13373 7142
2 150 160
3 150 160
Я могу отфильтровать максимальное значение, выполнив это
newdf = df.loc[df.reset_index().groupby(['Placement#Name'])['Views'].idxmax()]
print (newdf)
Placement#Name PRODUCT VIDEONAME COST_TYPE Views IMPRESSIONS \
1 1.Blend Of Vdx Display DISPLAY TVC CPE 10479 778732
3 2.Mobile VDX DISPLAY Features CPE 2309 1000
ENGAGEMENTS DPEENGAMENTS
1 13373 7142
3 150 160
теперь я хотел заменить новые представления PDF условиями, такими как 10479 и 2309, можно заменить на столбцы Engagements, как при условии, что отображается Product, а Cost_Type - CPE.
новый вывод df
print (newdf)
Placement#Name PRODUCT VIDEONAME COST_TYPE Views IMPRESSIONS \
1 1.Blend Of Vdx Display DISPLAY TVC CPE 13373 778732
3 2.Mobile VDX DISPLAY Features CPE 150 1000
ENGAGEMENTS DPEENGAMENTS
1 13373 7142
3 150 160
и затем я хотел преобразовать это в оригинальную df.
поэтому оригинальный вывод:
print (df)
Placement#Name PRODUCT VIDEONAME COST_TYPE views IMPRESSIONS \
0 1.Blend Of Vdx Display DISPLAY Features CPE 1255 778732
1 1.Blend Of Vdx Display DISPLAY TVC CPE 13373 778732
2 2.Mobile VDX DISPLAY Features CPE 168 1000
3 2.Mobile VDX DISPLAY Features CPE 150 1000
ENGAGEMENTS DPEENGAMENTS
0 13373 7142
1 13373 7142
2 150 160
3 150 160