连接两个字符串列-python

时间:2019-06-07 16:54:53

标签: python pandas numpy data-manipulation

我有这个数据框:

df = pd.DataFrame({"X" : ["2017-12-17","2017-12-18","2017-12-19"],
                  "Y": ["F","W","Q"]})

我正在寻找key列:

           X    Y            key
0   2017-12-17  F   2017-12-17_F  
1   2017-12-18  W   2017-12-18_W
2   2017-12-19  Q   2017-12-19_Q

我尝试过123,而最好的解决方案是(为了提高速度,因为它们接近一百万行):

df.assign(key=[str(x) + "_" + y for x, y in zip(df["X"], df["Y"])])

这给了我这个错误:

TypeError: unsupported operand type(s) for +: 'Timestamp' and 'str'

为什么?

1 个答案:

答案 0 :(得分:0)

看起来您的X列不是发布的字符串,而是TimeStamp。无论如何,您可以尝试:

df['key'] = df.X.astype(str) + '_' + df.Y.astype(str)