将提取的列附加到没有索引的列表中:Pandas
Posted
技术标签:
【中文标题】将提取的列附加到没有索引的列表中:Pandas【英文标题】:Append extracted column to list without index: Pandas 【发布时间】:2022-01-10 20:40:56 【问题描述】:我的数据框如下:
Name | Year | Class |
---|---|---|
Roy | 2001 | 12 |
Pete | 2001 | 12 |
我正在执行一些函数,我需要一段代码来获取特定学生的班级并附加到列表中。 我使用了以下内容。
EmpList = []
c1 = d1["Class"].loc[Emp["Name"]=="Roy"]
EmpList.append(c1)
在附加班级列之前,我已经成功地从另一个数据框中附加了学生的分数。 但是当我附加类列并打印列表时,类列的索引也会被打印出来。将列表转换为 Dataframe 后,我得到如下:
Name | marks1 | marks2 | Class |
---|---|---|---|
Roy | 23 | 24 | 0 12 |
等等…… 问题仅在于类列。 请建议 不仅,索引。但它也在列表中存储 Name: Class, dtype:object。 我应该将系列转换为任何其他数据类型吗?还是有其他方法可以追加?
【问题讨论】:
因为c1
是Series
不是标量值。 type(c1)
应该输出pandas.core.series.Series
是的。 type 命令显示它是 Series。那么我该如何附加它呢?我只有 2 天大的时间来学习 python pandas。请给我领导。
我使用了 series.tostring() 函数,但索引仍然存在。
series.tolist() 正在工作,但得到方括号。
series.tolist()[0]
提取第一个元素?如果您确定“Roy”在您的数据框中仅出现一次 Emp
【参考方案1】:
如果您确定数据框中只有一个“Roy”实例,您可以使用squeeze
:
EmpList = []
c1 = d1["Class"].loc[Emp["Name"]=="Roy"].squeeze() # <- HERE
EmpList.append(c1)
【讨论】:
以上是关于将提取的列附加到没有索引的列表中:Pandas的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas Dataframe:如何同时将多个索引附加到列表中?