Python 从panda数据帧创建pd.Series列表

Python 从panda数据帧创建pd.Series列表,python,pandas,list,subset,series,Python,Pandas,List,Subset,Series,我有一个包含很多列的数据框架,以及一个我想传递给算法的列名列表。该算法要求我传入的参数不是一个数据帧,而是一个列表,其中每个元素都是我的pd.Series列之一 我想这个问题可能已经得到了回答,但我找不到。。。是否有函数或方法实现此转换data.Frame=>pd.Series的列表 一些代码用两列来显示我想要的输出,但我的用例有几十列,因此我无法手动编写: mydf = pd.DataFrame.from_dict({'a': {0: 1, 1: 2}, 'b': {0: 3, 1: 3},

我有一个包含很多列的数据框架,以及一个我想传递给算法的列名列表。该算法要求我传入的参数不是一个数据帧,而是一个列表,其中每个元素都是我的
pd.Series
列之一

我想这个问题可能已经得到了回答,但我找不到。。。是否有函数或方法实现此转换data.Frame=>pd.Series的列表

一些代码用两列来显示我想要的输出,但我的用例有几十列,因此我无法手动编写:

mydf = pd.DataFrame.from_dict({'a': {0: 1, 1: 2}, 'b': {0: 3, 1: 3}, 'c': {0: 10, 1: 3}})
my_list_of_columns=["a", "b"]
desired_output = [mydf.a, mydf.b]

感谢您的帮助

使用列表理解:

desired_output = [mydf[x] for x in my_list_of_columns]
print (desired_output)
[0    1
1    2
Name: a, dtype: int64, 0    3
1    3
Name: b, dtype: int64]
或者使用
转换为to_dict(orient='series')
并获取
dict
的值,但应在3.6下的
python中更改顺序:

desired_output = list(mydf[my_list_of_columns].to_dict(orient='series').values())
像这样的

import pandas as pd

mydf = pd.DataFrame.from_dict({'a': {0: 1, 1: 2}, 'b': {0: 3, 1: 3}, 'c': {0: 10, 1: 3}})

desired_output = []
l = list(mydf)

for i in l:
    desired_output.append(list(eval('mydf.' + i)))


print(desired_output)