gpt4 book ai didi

python - 使用 .loc 在 Pandas 中进行多选

转载 作者:行者123 更新时间:2023-11-30 22:48:18 27 4
gpt4 key购买 nike

我已成功使用 .loc 来分配已过滤数据集的列,但现在我需要使用两个过滤器来过滤数据集并收到以下错误。我正在尝试使用 & 运算符,就像您只是过滤一样。

TypeError: cannot compare a dtyped [object] array with a scalar of type [bool]

代码:

import pandas as pd
df = pd.DataFrame(data=[['Arlington', 'MA'],
['Arlington', 'TX'],
['Dallas', 'TX']],
columns=['City', 'State'])

df.loc[(df['State'] == 'TX' & df['City'] == 'Arlington'), 'New Column'] = 10

print df

期望的输出:

            City State  New Column
0 Arlington MA NAN
1 Arlington TX 10
2 Dallas TX NaN

最佳答案

您需要将比较结果括起来,如 (df['State'] == 'TX') & (df['City'] == 'Arlington')。在 Python 中,像 & 这样的按位运算符比 == 这样的比较运算符具有更高的优先级。

关于python - 使用 .loc 在 Pandas 中进行多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40209247/

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