You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Series拼接异常:如何正确拼接ticker与SuperID列?

解决方案:Pandas列对应行字符串拼接问题

问题出在你使用了Python内置的str()函数处理整个Series对象,这会把整个Series转换成包含所有行的字符串(比如类似"0 44462\n1 44463\nName: SuperID, dtype: float64"),导致拼接时每行都带上了整个Series的内容,而非对应行的单个值。

要实现对应行的正确拼接,需要对SuperID列的每个元素单独转换为字符串,可以用以下两种方法:

方法1:使用.astype(str)(推荐)

这是Pandas中转换列元素类型的标准方法,会批量将列内每个元素转为字符串:

def excel_date(date1):
    temp = datetime.datetime(1899, 12, 30)
    delta = date1 - temp if date1 != 0 else temp - temp
    return float(delta.days) + (float(delta.seconds) / 86400)

df3['SuperID'] = df3['Break_date'].apply(excel_date)
# 对SuperID列每个元素转字符串后拼接
df3['SuperID2'] = df3['ticker'] + df3['SuperID'].astype(str)

方法2:使用.apply(str)

通过apply遍历列内每个元素,调用str()函数转换:

df3['SuperID2'] = df3['ticker'] + df3['SuperID'].apply(str)

两种方法都能实现每行ticker与对应SuperID的拼接,得到类似TSLA44462的结果。

内容的提问来源于stack exchange,提问作者Artrade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:09:24