gpt4 book ai didi

python - 查询字符串值的 Dataframe 列

转载 作者:行者123 更新时间:2023-11-28 22:31:40 24 4
gpt4 key购买 nike

我需要在列以值 'MA'、'KP' 开头的位置获取值。

我正在尝试这样链接我的数据框查询:

df.loc[df['REFERRAL_GRP'].str.startswith("KP")==True | df['REFERRAL_GRP'].str.startswith("MA")==True]

这似乎不起作用,因为该列包含 pd.nan 对象(NULL 值)。

查询本身有效,我如何将这两个查询合并在一起?

谢谢

这是我的错误信息:


追溯(最近一次通话):
Debug Probe,提示符 40,第 1 行
文件“c:\Python27\Lib\site-packages\pandas\core\generic.py”,第 892 行,在 __nonzero__ 中
.format(self.__class__.__name__))
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

最佳答案

这是一个我们经常看到的问题。

df.loc[
# 2. This returns a whole lot of `True`s or `False`s
df['REFERRAL_GRP'].str.startswith("KP")==True
# 1. `|` is expecting a `True` or `False`
|
# 2. This returns a whole lot of `True`s or `False`s
df['REFERRAL_GRP'].str.startswith("MA")==True
]

通过用括号包裹条件来修复它

df.loc[
# 1. Series of `True`s or `False`s
(df['REFERRAL_GRP'].str.startswith("KP")==True)
# 2. `|` is now a operator on `pd.Series` and is expecting `pd.Series`
|
# 1. Series of `True`s or `False`s
(df['REFERRAL_GRP'].str.startswith("MA")==True)
]

也就是说,我会这样做

df.loc[df.REFERRAL_GRP.str.match('^KP|MA')]

关于python - 查询字符串值的 Dataframe 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449054/

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