gpt4 book ai didi

python - 如何使用向量 "or"DataFrame 中的每一列?

转载 作者:行者123 更新时间:2023-11-30 23:08:10 25 4
gpt4 key购买 nike

假设我有以下数据:

try:
from StringIO import StringIO
except ImportError:
from io import StringIO
import pandas as pd
from numpy import uint8

vector = pd.Series([1, 0, 0, 1])

df = pd.read_table(StringIO("""a b c
1 0 0
1 1 1
0 1 1
1 1 0"""), sep="\s+", dtype=uint8, header=0)

如何将向量与 df 中的每一列进行“或”运算?

我知道我可以用“or”和我的向量创建一个部分函数并将其应用于 df,但这可能不符合习惯并且不必要地耗时。 Pandas 的方式是什么?

想想看,惯用的方式可能是 lambda...是否没有二元运算符,例如 dataframe.div(series)? (Binary DF operations)

我想要dataframe.or(vector)...

最佳答案

您可以将 DataFrame 和(列)向量直接传递到 np.logical_or :

>>> np.logical_or(df, vector[:, None])
a b c
0 True True True
1 True True True
2 False True True
3 True True True

请注意,这会返回一个 bool 值的 DataFrame;如果您愿意,可以转换回数字数据类型。

关于python - 如何使用向量 "or"DataFrame 中的每一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863431/

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