简体   繁体   中英

How to create a customised data frame based on column values in python?

I have a initial dummy dataframe with 7 columns, 1 row and given columns names and initialised zeros

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"})

Now I have a single record

data = [['M', 'Employee', 'Y',85412]] 
data_test = pd.DataFrame(data, columns = ['Gender', 'Employed', 'Married','Salary'])

From the single record I have to create a new dataframe, where if the

Gender column has M, then Gender_M should be changed to 1, Gender_F left with zero

Employed column has Employee, then Employed_Employee changed to 1, Employed_Self with zero

same with Married and for the integer column Salary, just set the value 85412, I tried with if statements, but its a long set of codes, is there a simple way?

Here is one way using update twice

d.update(df)
df.columns=df.columns+'_'+df.astype(str).iloc[0]
df.iloc[:]=1
d.update(df)

Alas homework is often designed to be boring and repetitive ... You do not have a problem - rather you want other people to do the work for you. SO is not for this purpose - post a problem, you will find many people willing to help.

So show your FULL answer then ask for "Is there a better way"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM