python - 从 panda DataFrame 创建 pd.Series 列表

标签 python pandas list subset series

我有一个包含很多列的 DataFrame,以及我想要传递给算法的列名称列表。该算法要求我传入的参数不是数据帧,而是一个列表,其中每个元素都是我的 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使用 to_dict(orient='series') 并获取 dict 的值,但在 3.6 下的 python 中应更改排序:

desired_output = list(mydf[my_list_of_columns].to_dict(orient='series').values())

关于python - 从 panda DataFrame 创建 pd.Series 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54589455/

相关文章:

python - Pandas 数据框中的自定义排序

python - 通过在 Python 中读取文件获取列表

R列表获取每个元素的第一项

python - 尽管超时,Pytest 仍然挂起

jquery.autocomplete.js - 自动完成是如何工作的?

Python-递归错误: maximum recursion depth exceeded in comparison error

python - os.path.join 没有正确格式化路径

python - 导入错误:C 扩展:没有名为 'parsing' 的模块未构建

python - Pandas :只保留累积变化超过阈值的每一行?

python - 在列表中查找交替数字的序列