在python/pandas中附加到序列不起作用

2024-06-16 13:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将值附加到pandas系列中,该系列是通过查找nth和nth+1元素之间的差异获得的:

q = pd.Series([])

while i < len(other array):
    diff = some int value
    a = pd.Series([diff], ignore_index=True)
    q.append(a)
    i+=1

我得到的结果是:

Series([], dtype: float64)

为什么我不能得到一个包含所有附加值的数组?

--

p.S.这是一个数据科学问题,我必须通过一个数据框架来查找大多数县的州。我使用一个状态结束和下一个状态开始的索引值(我用来查找差异的数组中的值)来确定有多少县处于该状态。如果有人比我更了解如何解决这个问题,请告诉我!


Tags: 数据元素pandaslen状态diff数组差异
2条回答

Series.append文档声明,append行的其他行将返回一个新对象。

这些示例看起来有点混乱,因为它显示了它的工作原理,但是如果仔细观察,您会发现它们使用的是交互式python,它打印最后一次调用(新对象)的结果,而不是显示原始对象。

调用append的结果实际上是一个全新的Series

在您的示例中,每次都需要将q分配给.append返回的新对象:

q = pd.Series([])
while i < len(other array):
    diff = some int value
    a = pd.Series([diff], ignore_index=True)
    # change of code here
    q = q.append(a)
    i+=1

append方法不起作用。相反,它返回一个新的Series对象。所以应该是:

q = q.append(a)

希望有帮助!

相关问题 更多 >