python正在将数据帧转换为列表

python正在将数据帧转换为列表,python,list,pandas,Python,List,Pandas,我有一个excel,有两个数据框,一个数据框在记分卡上,另一个数据框在合并的基础上 import pandas as pd df_scr_crd = {'Subject': ['MATH', 'MATH', 'MATH', 'MATH', 'PSY', 'PSY', 'PSY', 'PSY'], 'SCR_STRT': [10, 20, 30, 99999, 'A', 'B', 'C', 'D'], 'POINTS': [100, 200, 300, 500,

我有一个excel,有两个数据框,一个数据框在记分卡上,另一个数据框在合并的基础上

import pandas as pd
df_scr_crd = {'Subject': ['MATH', 'MATH', 'MATH', 'MATH', 'PSY', 'PSY', 'PSY', 'PSY'], 
        'SCR_STRT': [10, 20, 30, 99999, 'A', 'B', 'C', 'D'], 
        'POINTS': [100, 200, 300, 500, 10, 20, 30, 40]}
df_scr_crd_d = pd.DataFrame(df_scr_crd, columns = ['Subject', 'SCR_STRT', 'POINTS'])

df_scr_cns = {'Subject': ['MATH', 'PSY'], 
        'CNS': ['min', 'max']}
df_scr_cns_d = pd.DataFrame(df_scr_cns, columns = ['Subject', 'CNS'])

df_scr_crd_d
df_scr_cns_d
我想从此数据框生成列表/变量分配

预期产量为

MATH_df_scr_crd_bin = [10, 20, 30, 99999]
MATH_df_scr_crd_val = [100, 200, 300, 500]
PSY_df_scr_crd_bin = ['A', 'B', 'C', 'D']
PSY_df_scr_crd_val = [10, 20, 30, 40]
MATH_df_scr_cns = 'min'
MATH_df_scr_cns = 'max'
有没有简单的方法将数据帧转换为列表

提前Thx
Vittal

您只需在相关系列上使用
.tolist()
,例如:

>>> df_scr_crd_d.loc[df_scr_crd_d.Subject == 'MATH', 'SCR_STRT'].tolist()
[10, 20, 30, 99999]

>>> df_scr_crd_d.loc[df_scr_crd_d.Subject == 'MATH', 'POINTS'].tolist()
[100, 200, 300, 500]
对于整个dataframe,您可以将其转换为键入列名的字典,如下所示:

>>> df_scr_crd_d.to_dict('list') 
{'POINTS': [100, 200, 300, 500, 10, 20, 30, 40],
 'SCR_STRT': [10, 20, 30, 99999, 'A', 'B', 'C', 'D'],
 'Subject': ['MATH', 'MATH', 'MATH', 'MATH', 'PSY', 'PSY', 'PSY', 'PSY']}