gpt4 book ai didi

python - 将元组添加到 Pandas 数据框的特定单元格

转载 作者:太空狗 更新时间:2023-10-29 21:34:18 26 4
gpt4 key购买 nike

就在我以为自己掌握了 Python 和 Pandas 的诀窍时,另一个看似简单的问题突然出现了。我想将元组添加到 Pandas 数据框的特定单元格。这些元组需要根据数据框中其他单元格的内容即时计算 - 换句话说,我无法轻松地提前计算所有元组并将它们添加为单个数组。

例如,我用一些数据定义了一个数据框并添加了几个空列:

import pandas as pd
import bumpy as np
tempDF = pd.DataFrame({'miscdata': [1.2,3.2,4.1,2.3,3.3,2.5,4.3,2.5,2.2,4.2]})
tempDF['newValue'] = np.nan
tempDF['newTuple'] = np.nan

我可以滚动浏览“newValue”列的每个单元格并毫无问题地添加一个整数值:

anyOldValue = 3.5
for i in range(10):
tempDF.ix[(i,'newValue')] = anyOldValue

print tempDF

但是,如果我尝试添加一个元组,我会收到一条错误消息:

anyOldTuple = (2.3,4.5)
for i in range(10):
tempDF.ix[(i,'newTuple')] = anyOldTuple

print tempDF

我收到了几条错误消息,包括:

ValueError: Must have equal len keys and value when setting with an ndarray

……和……

ValueError: setting an array element with a sequence.

我确定我已经在单元格中看到了带有元组(或列表)的数据框 - 不是吗?任何有关如何使此代码正常工作的建议都将不胜感激。

最佳答案

您可以使用set_value:

tempDF.set_value(i,'newTuple', anyOldTuple)

还要确保该列不是浮点列,例如:

tempDF['newTuple'] = 's' # or set the dtype

否则会报错。

关于python - 将元组添加到 Pandas 数据框的特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27949671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com