有矢量化吗字符串格式在Pandas身上?

2024-04-26 17:46:31 发布

您现在位置:Python中文网/ 问答频道 /正文

从我的研究中,我发现我只能使用apply来格式化Pandas中的字符串,这在大型数据集中非常慢,因为apply实际上是整个数据的一个循环。理论上,format是一个可向量化函数,因为它不依赖于其他行。因此,我们有没有办法把它矢量化?在

例如,我的一项工作就是要这样做:

joined["timestamp"] = joined.apply(lambda row: args.date + " {:0>2d}:{:0>2d}:00".format(row["tid"]/6, row["tid"]%6*10), axis=1)

其中tid是一个整数。一些示例数据(joined):(date="20170101"

^{pr2}$

我相信通过格式化其他一些列来附加一个新的字符串列是一种常见的情况。在

谢谢你!在


Tags: 数据lambda函数字符串formatpandasdate理论
1条回答
网友
1楼 · 发布于 2024-04-26 17:46:31

我相信您需要^{}并将分区改为楼层分区(//):

print (joined)
   tid
0    1
1   10

a ='20170101'
b = ' ' + (joined["tid"] // 6).astype(str).str.zfill(2) + ':'
c = (joined["tid"] % 6 * 10).astype(str).str.zfill(2) + ':00' 
joined["timestamp"] = a + b + c
print (joined)

   tid          timestamp
0    1  20170101 00:10:00
1   10  20170101 01:40:00

相关问题 更多 >