gpt4 book ai didi

python - pandas 系列列表索引

转载 作者:行者123 更新时间:2023-12-01 01:43:16 25 4
gpt4 key购买 nike

我有一个 pandas Series 对象 obj 列表和一个索引 idx 列表。我想要的是一个新的系列 out,对于 idx 中的每一行,如果 idx 则包含 obj[idx] 的值code> 不是 255,否则 -1

下面的代码实现了我想要实现的目标,但我想知道是否有更好的方法来实现这一点,特别是没有首先创建 Python 列表然后将其转换为 pandas 系列的开销。

>>> import pandas as pd
>>> obj = [pd.Series([1, 2, 3]), pd.Series([4, 5, 6]), pd.Series([7, 8, 9])]
>>> idx = pd.Series([0, 255, 2])
>>> out = pd.Series([obj[idx[row]][row] if idx[row] != 255 else -1 for row in range(len(idx))])
>>> out
0 1
1 -1
2 9
dtype: int64
>>>

提前致谢。

最佳答案

使用重新索引 + 查找

pd.Series(pd.concat(obj,1).reindex(idx).lookup(idx,idx.index)).fillna(-1)
Out[822]:
0 1.0
1 -1.0
2 9.0
dtype: float64

关于python - pandas 系列列表索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51659587/

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