首页 > 解决方案 > 将相同的字符串连接到数组或系列的所有元素

问题描述

我有一个np.array整数和一个单数str,我想要一个 pd.Series,它的类型str是单数附加strnp.array. 有没有办法在不创建一个包含str重复适当次数的大列表的情况下做到这一点?类似于 numpy 广播的东西是理想的。

我试过了pandas.Series.str.catnp.core.defchararray.add但是这两个都只做等长Series/的元素加法array

以下是我想要的功能示例:

# This is not code that will actually run!
nums = np.array([1, 2, 3, 4, 5])
name = "name "

result = concat_one_to_many(name, nums)

最后我应该得到一个pd.Series具有以下值的

"name 1"
"name 2"
"name 3"
"name 4"
"name 5"

这必须尽可能快。这就是我避免 for 循环或 python 列表推导的原因。如果无法避免这些,最快的实施方式是什么?

标签: pythonpandasnumpy

解决方案


如果你想要一个 pd.Series,你可以在 pandas 系列中添加一个字符串,它会将它添加到每个元素中:

numsAsSeries = pd.Series(nums)
wantedResult = name + numsAsSeries.astype(str)

推荐阅读