如何更正我的数据类及其属性?

时间:2021-07-05 16:54:23

标签: python dataframe class attributes python-dataclasses

我尝试使用以下 python 代码从类名 'Request' 创建一个列表名 'requests':

df= pd.DataFrame({'index':[1,2,3,4],'firstname':['A','B','C','D'],
                  'CurrentArea': ['X','Y','Z','Y'],
                  'destination1_shortcode':['Y','Z','X','X'],
                  'position': ['Engineer','Engineer','Accountant','Technician'],
                  'experience': [3,5,2,3]})

@dataclass
class Request:
    indexes: int
    Employee_name: str
    current_division: str
    destination: str
    position: str
    experiences: int

requests = [Request(df['index'][i], df['firstname'][i], df['CurrentArea'][i],
                    df['destination1_shortcode'][i], df['position'][i],
                    df['experience'][i]) for i in range(len(df))]

我的预期结果应该是这样的:

requests = [Request(1, 'A', 'X', 'Y', 'Engineer', 3),
            Request(2, 'B', 'Y', 'Z', 'Engineer', 5),
            Request(3, 'C', 'Z', 'X', 'Accountant', 2),
            Request(4, 'D', 'Y', 'X', 'Technician', 3)]

然而,当我使用 print(requests) 运行我上面的源代码时,我得到了如下不满意的结果:

[Request(indexes=1, Employee_name='A', current_division='X',
 destination='Y', position='Engineer', experiences=3),Request(indexes=2,
 Employee_name='B', current_division='Y', destination='Z',
 position='Engineer', experiences=5), Request(indexes=3, Employee_name='C',
 current_division='Z', destination='X', position='Accountant',
 experiences=2),Request(indexes=4, Employee_name='D', current_division='Y',
 destination='X', position='Technician', experiences=3)]

因此,我怎样才能更正我的源代码以实现我的目标?

0 个答案:

没有答案
相关问题