我有一個資料框,如果滿足某個條件,我想基本上創建該行的副本。如果 'Date' = Q4.22 或 > AND type = 'live',則應重復行
資料
id Date set type unit energy
bb Q4.22 L live l01 20
ba Q4.22 L non l01 20
ba Q3.22 L non l01 20
aa Q4.22 L non l01 20
bb Q4.22 L live l01 20
cc Q3.22 L non l01 20
ca Q3.22 L live l01 20
期望的
id Date set type unit energy
bb Q4.22 L live l01 20
bb Q4.22 L live l01 20
ba Q4.22 L non l01 20
ba Q3.22 L non l01 20
aa Q4.22 L non l01 20
aa Q4.22 L live l01 20
aa Q4.22 L live l01 20
cc Q3.22 L non l01 20
ca Q3.22 L live l01 20
正在做
new = np.arange(len(dupe)).repeat((~dupe.duplicated(keep=False).values) 1)
我認為這是一個開始,但不確定如何添加條件。任何建議表示贊賞。
uj5u.com熱心網友回復:
使用所需條件創建資料框的過濾視圖并與原始資料框連接:
pd.concat([df, df.loc[(df['Date'] == 'Q4.22') & (df['live'] == 'live')]])
uj5u.com熱心網友回復:
你可以試試 concat
pd.concat([df, df[(df['Date']>= "Q4.22") & (df['type'] == 'live')]]).reset_index()
index id Date set type unit energy
0 0 bb Q4.22 L live l01 20
1 1 ba Q4.22 L non l01 20
2 2 ba Q3.22 L non l01 20
3 3 aa Q4.22 L non l01 20
4 4 aa Q4.22 L live l01 20
5 5 cc Q3.22 L non l01 20
6 6 ca Q3.22 L live l01 20
7 0 bb Q4.22 L live l01 20
8 4 aa Q4.22 L live l01 20
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/473668.html
