在列上使用apply()可以很容易地转换pandas的datetime对象,但我遇到的问题是转换速度非常慢。你知道吗
我正在尝试开发另一个解决方案,但我一直遇到性能问题。你知道吗
我目前的解决方案是:
def modify_date2(x):
"""
applies datetime mask 1 of MM YYYY to the data
Example: 01 2016
"""
try:
if pd.isnull(x) == False:
return x.strftime('%m %Y')
else:
return pd.NaT
except:
return pd.NaT
df['columnname'] = df['columnname'].apply(modify_date2)
对于大约70万条记录,需要3分钟,这只是我的生产数据集的一个子集,它是2300多万条记录。你知道我的担心。你知道吗
我试过这个:
df.ix[pd.notnull(df['sourcedt']), "sourcedt"] = \
datetime.fromtimestamp(mktime(df['sourcedt'].dt.timetuple()))
但我无法根据收到的错误消息对“Series”进行低级别转换。查询工作正常,我可以使用pd.notnull()没有问题,但值的设置是我的问题。你知道吗
有什么办法可以加快速度吗? 我的源数据正在使用pd.DataFrame.from\记录(). 你知道吗
我使用的是Pandas 0.16.1、Python 2.7.10
谢谢
IIUC您可以使用^{} ,
columnname
的数据类型是datetime
:如果需要首先转换为datetime,并且某些日期已损坏,请使用^{} :
样品:
相关问题 更多 >
编程相关推荐