Python numpy数组中每个元素的前x个字符
我有一个大的数据集(6百万行)。对于给定的列时间戳,我希望获取每个元素的前11个字符并构造一个新列。到目前为止,我是用apply方法来做的,但这需要很长时间Python numpy数组中每个元素的前x个字符,python,numpy,dataframe,Python,Numpy,Dataframe,我有一个大的数据集(6百万行)。对于给定的列时间戳,我希望获取每个元素的前11个字符并构造一个新列。到目前为止,我是用apply方法来做的,但这需要很长时间 df_value_dl['time_sec'] = df_value_dl.apply(lambda x: str(x['timestamp'])[0:10], axis=1) 在寻找更快的方法时,我遇到了 使用np数组执行此操作的正确语法是什么。谢谢,以防你还没有找到解决方案:这个 df_value_dl['time_sec'] = d
df_value_dl['time_sec'] = df_value_dl.apply(lambda x: str(x['timestamp'])[0:10], axis=1)
在寻找更快的方法时,我遇到了
使用np数组执行此操作的正确语法是什么。谢谢,以防你还没有找到解决方案:这个
df_value_dl['time_sec'] = df_value_dl['timestamp'].astype('string').str[:10]
应该比
中的apply
快pandas
字符串是python字符串,位于object
dtype列中pandas
有一些排序str
方法,可以加快处理这些字符串的速度numpy
具有不同的字符串数据类型,可以执行此截断,但转换入/出pandas系列需要花费大量时间。我建议研究熊猫文档的字符串方法。