gpt4 book ai didi

pandas - 如何使用包含 dtype 列表的 Pandas 系列为特定条件选择值?

转载 作者:行者123 更新时间:2023-12-05 04:52:59 26 4
gpt4 key购买 nike

我实际上知道在 Pandas Dataframe 和 Series 中使用 float 等 dtype 执行此操作的很多方法,但是我怎样才能让它与包含 dtype list 的 Series 一起使用?

例如,我想:

series = pd.Series([[1,2],[2,3,4],[4,6]])

series 是这样的:

0    [1, 2]
1 [2, 3, 4]
2 [4, 6]
dtype: object

我想要长度超过 2 的行,这实际上是行 1。我试过:

series[len(series) > 2]

series[series.apply(lambda x : len(x) > 1)]

两者都不起作用。

最佳答案

列表列支持 .str 访问器方法,因为它们本质上是对象。尝试

series[series.str.len() > 2]

1 [2, 3, 4]
dtype: object

如果需要满足条件的行的索引值,我们将在索引上进行过滤:

series.index[series.str.len() > 2]
# Int64Index([1], dtype='int64')

或者,如果你想移除长度大于2的行,你可以使用 bool 索引来过滤:

series[series.str.len() <= 2]

0 [1, 2]
2 [4, 6]
dtype: object

请注意,您的第一个解决方案没有意义,因为条件是标量,但您的应用代码可以使用 len(x) > 2 除非您的列也有 NaN,这.str 解决方案优雅地处理。

关于pandas - 如何使用包含 dtype 列表的 Pandas 系列为特定条件选择值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66290616/

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