我正在尝试一种快速方法来创建“逆”,以训练逻辑回归模型。我有销售交易记录(即isSold = 1),我想为第二个日期的isSold = 0等效项创建数据行(显然,我没有该行的数据)。 ..使用以下示例,我需要使用以下内容为“ ABC1”,“ DEF2”,“ GHI3”和“ JKL4”创建4个新行(注意,由于2/2/20已有数据,因此不需要MNO5)。
students = [ ('ABC1', '1/1/20', '5.00' , '2' , '1') ,
('DEF2', '1/1/20', '4.95' , '1' , '1' ) ,
('GHI3', '1/1/20', '6.50' , '1' , '1' ) ,
('JKL4', '1/1/20', '7.10' , '1' , '1' ) ,
('MNO5', '1/1/20', '8.45' , '2' , '1') ,
('MNO5', '2/1/20', '8.45' , '1' , '1') ]
df = pd.DataFrame(students, columns = ['Item' , 'Date', 'UnitPrice' ,'Quantity', 'isSold'], index=['a', 'b', 'c' , 'd' , 'e' , 'f'])
任何/所有想法都欢迎-谢谢。
所以睡了之后,我想到了下面的...。
dts = ['1/1/20','2/1/20']
codes = ['ABC1','DEF2','GHI3','JKL4','MNO5']
for i in codes:
for j in dts:
new_row = {
"Item": i ,
"Date": j,
"UnitPrice": 0,
"Quantity": 0,
"isSold": 0
}
df = df.append(new_row, ignore_index=True)
df = df.drop_duplicates(subset=['Item','Date'], keep='first')
欢迎任何改进或反馈!