如何在python中基于列值创建自定义数据框?

2024-09-29 05:17:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个初始的虚拟数据帧,有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,则性别M应更改为1,性别F保留为零

Employee列有Employee,然后Employee\u Employee更改为1,Employee\u Self为零

对于已婚和整数列Salary,也一样,只需设置值85412,我尝试使用if语句,但这是一组很长的代码,有简单的方法吗


Tags: columns数据selfnumpydataframepandasdatazeros
2条回答

唉,家庭作业常常被设计成枯燥和重复的。。。 你没有问题,而是希望其他人为你做这项工作。所以不是为了这个目的-发布一个问题,你会发现很多人愿意帮助

所以,展示你的完整答案,然后问“有更好的方法吗?”

这里有一种方法可以使用更新两次

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

相关问题 更多 >