Python 最快的价值更新方法?

Python 最快的价值更新方法?,python,pandas,performance,dataframe,time,Python,Pandas,Performance,Dataframe,Time,我正在处理超过100万份专利申请,必须确定日期,此外还有其他我将在以后处理的事情。我正在将文件读入Pandas数据帧,然后运行以下函数: def date_change(): new_dates = {'m/y': []} for i, row in apps.iterrows(): try: d = row['date'].rsplit('/')

我正在处理超过100万份专利申请,必须确定日期,此外还有其他我将在以后处理的事情。我正在将文件读入Pandas数据帧,然后运行以下函数:

def date_change():
        new_dates = {'m/y': []}
        for i, row in apps.iterrows():
                try:
                        d = row['date'].rsplit('/')
                        new_dates['m/y'].append('{}/19{}'.format(d[0], d[2]))
                except Exception as e:
                        print('{}   {}\n{}\n{}'.format(i, e, row, d))
                        new_dates['m/y'].append(np.nan)
        apps.join(pd.DataFrame(new_dates))
        apps.drop('date')

有没有更快捷的方法来执行此操作?Pandas是用于如此大数据集的正确库吗?有人告诉我PySpark适合大数据,但它能在多大程度上提高速度?

因此,您似乎在使用字符串来表示数据,而不是日期时间对象。 我建议做一些类似的事情

df['date'] = pd.to_datetime(df['date'])
因此,您根本不需要迭代,因为该函数对整个列进行操作。 然后,您可能需要检查以下用于适当设置列格式的选项

如果您可以显示输入和预期输出,我可以在这里添加完整的解决方案


此外,熊猫通常可以管理100万行(当然取决于列的数量)

以前从未使用过datetime,谢谢你提醒我!输入:2/21/44,输出:2/21/1944。对于这一点,只有6列,但这是很好的了解。更新:工作得很好,但它解释了一堆值来自20个,而不是19个(所有数据都来自20世纪)。你们可能想检查一下,但我不确定这是否有助于直截了当地说: