我有一个初始虚拟数据帧,该数据帧有7列,1行,给定的列名称和初始化的零
d = pandas.DataFrame(numpy.zeros((1, 7)))
d = d.rename(columns={0:"Gender_M",
1:"Gender_F",
2:"Employed_Self",
3:"Employed_Employee",
4:"Married_Y",
5:"Married_N",
6:"Salary"})
现在我只有一条记录
data = [['M', 'Employee', 'Y',85412]]
data_test = pd.DataFrame(data, columns = ['Gender', 'Employed', 'Married','Salary'])
从单条记录中,我必须创建一个新的数据框,如果
“性别”列中有M,则应将“ Gender_M”更改为1,然后将“ Gender_F”保留为零
Employed列中有Employee,然后Employed_Employee更改为1,Employed_Self为零
与Married相同,对于整数列Salary,只需将值设置为85412,我尝试使用if语句,但是它的代码集很长,有没有简单的方法?
答案 0 :(得分:1)
这是两次使用更新的一种方法
d.update(df)
df.columns=df.columns+'_'+df.astype(str).iloc[0]
df.iloc[:]=1
d.update(df)
答案 1 :(得分:0)
可惜的是,作业往往被设计得无聊且重复。 您没有问题-而是希望其他人为您完成工作。 SO并非出于此目的-发布问题,您会发现很多人愿意提供帮助。
因此请显示您的完整答案,然后询问“是否有更好的方法”