附加到 python/pandas 中的系列无效

Append to Series in python/pandas not working

我正在尝试将值附加到 pandas 通过查找第 n 和第 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。这是一个数据科学问题,我必须通过搜索数据框来找到县最多的州。我使用一个州结束和下一个州开始的索引值(我用来查找差异的数组中的值)来确定该州有多少个县。如果有谁比我上面知道如何更好地解决这个问题,请告诉我!

append 方法无法就地使用。相反,它 returns 一个新的 Series 对象。所以应该是:

q = q.append(a)

希望对您有所帮助!

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