python - Pandas 中有矢量化的 string.format 吗?

标签 python pandas

根据我的研究,我发现我只能使用 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 是一个整数。一些示例数据(加入):(date="20170101")

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

我认为通过格式化其他列来附加新的字符串列是一种常见的情况。

谢谢!

最佳答案

我相信你需要str.zfill并将分区更改为楼层分区 (//):

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

关于python - Pandas 中有矢量化的 string.format 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49554907/

相关文章:

python - 如何在 Pandas 中使用 Rolling OLS Model 接口(interface)?

python - 为什么可以添加 pd.Timedelta 和 None?

python - 如何在 Django 中用阿拉伯字符创建 slug?

python - 迭代 pandas 中的列,并动态更改其值,直到找到新的值 [Pandas]

python - Pandas 数据框行的条件循环

python - 如何将元组连接到 Pandas 数据框中的字符串?

python - 创建比例数据框

python - 运行 install mod_dav_svn 并无法破译线程错误

Python - 读取文件中的行对

python - OpenCV Traincascade XML文件错误