2016-03-11 3 views
2

У меня есть первенствовать с 2 кадра данных, один кадр данных по бальной карточке и другой фрейм данных по консолидации основепитона панды превращающего dataframe (ы) в списках

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

ответ

0

Вы можете просто использовать .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']} 
Смежные вопросы