gpt4 book ai didi

python - 使用 lambda 删除 pandas 数据框的几行

转载 作者:太空狗 更新时间:2023-10-30 00:16:08 25 4
gpt4 key购买 nike

我目前在操作 pandas 中的数据帧时遇到方法链问题,这是我的数据结构:

import pandas as pd

lst1 = range(100)
lst2 = range(100)
lst3 = range(100)
df = pd.DataFrame(
{'Frenquency': lst1,
'lst2Tite': lst2,
'lst3Tite': lst3
})

问题是如果频率小于6则获取条目(行),但它需要在方法链中完成。

我知道使用传统方式很简单,我可以做到

df[df["Frenquency"]<6]

得到答案。

但是,问题是关于如何使用方法链来实现的,我尝试过类似的方法

df.drop(lambda x:x.index if x["Frequency"] <6 else null)

但它引发了一个错误 "[<function <lambda> at 0x7faf529d3510>] not contained in axis"

任何人都可以分享一些关于这个问题的信息吗?

最佳答案

这是一个老问题,但我会回答,因为没有公认的答案供将来引用。

df[df.apply(lambda x: True if (x.Frenquency) <6 else False,axis=1)]

解释: 此 lambda 函数检查频率,如果是,则分配 True,否则分配 False,并且 df 使用的那一系列 True 和 False 仅索引 true 值。请注意,列名 Frenquency 是一个拼写错误,但我保留原样,因为问题是这样的。

关于python - 使用 lambda 删除 pandas 数据框的几行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47459949/

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