gpt4 book ai didi

python - 如何在单个Python数组中连接不同类型的特征?

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

我有一个包含不同类型值的特征数组:

>>> features = train_df.values
>>> [x for x in features]

[True,
array([2, 0, 0, ..., 0, 0, 0]),
False,
False,
17,
1,
10,
array([0, 0, 0, ..., 0, 0, 0])]

我想生成一个包含所有上述功能的串联的Python数组,即

np.array([True, 2, 0, 0, ..., 0, 0, 0, False, False, 17, 1, 10, 0, 0, 0, ..., 0, 0, 0])

我的目标是训练 sklearn LogisticRegression与上面的特征向量。在 python 中执行此操作的最佳方法是什么?

最佳答案

您可以通过简单的列表理解来完成此操作。

>>> x
[True, array([2, 0, 0, 0, 0, 0]), False, False, 17, 1, 10, array([0, 0, 0, 0, 0, 0])]

>>> [j for i in x for j in (i if isinstance(i, np.ndarray) else (i, ))]
[True, 2, 0, 0, 0, 0, 0, False, False, 17, 1, 10, 0, 0, 0, 0, 0, 0]

>>> np.array(_, dtype='O')
array([True, 2, 0, 0, 0, 0, 0, False, False, 17, 1, 10, 0, 0, 0, 0, 0, 0], dtype=object)

如果您不添加dtype='O',您的 bool 值将被转换为整数。这取决于你是否愿意。使用对象数组通常不受欢迎,因为它们不提供矢量化/效率优势。

关于python - 如何在单个Python数组中连接不同类型的特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46869943/

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