目前,我已经通过使用带有lambda函数的.Apply()获得了标题:
calFilteredDf['startTime'] = calFilteredDf['start'].apply(lambda x: x['dateTime'])
这是非常慢的,我想知道如何才能在更短的时间内达到同样的结果.CalFilteredDf[‘Start’]是一个Pandas 系列,来自‘Start’列的数据如下所示:
1 {'date': None, 'dateTime': '2021-08-11T15:00:0...
2 {'date': None, 'dateTime': '2021-08-12T09:30:0...
3 {'date': None, 'dateTime': '2021-08-12T10:00:0...
4 {'date': None, 'dateTime': '2021-08-18T11:00:0...
...
1692 {'date': None, 'dateTime': '2023-08-09T14:00:0...
1693 {'date': None, 'dateTime': '2023-08-09T15:00:0...
1694 {'date': None, 'dateTime': '2023-08-10T11:30:0...
1695 {'date': None, 'dateTime': '2023-08-10T16:00:0...
1696 {'date': None, 'dateTime': '2023-08-10T17:00:0...
Name: start, Length: 1697, dtype: object
新的‘startTime’列中的数据需要如下所示:
1 2021-08-11T15:00:00-04:00
2 2021-08-12T09:30:00-04:00
3 2021-08-12T10:00:00-04:00
4 2021-08-18T11:00:00-04:00
...
1692 2023-08-09T14:00:00-04:00
1693 2023-08-09T15:00:00-04:00
1694 2023-08-10T11:30:00-04:00
1695 2023-08-10T16:00:00-04:00
1696 2023-08-10T17:00:00-04:00
Name: startTime, Length: 1697, dtype: object
有没有办法快速完成这项工作?我试着让
calFilteredDf['startTime'] = calFilteredDf['startTime']['dateTime']
我还try 使用.loc,但没有成功,因为‘Start’的行不是正确的数据类型,并且我try 使用较快的库来并行化.Apply()正在执行的进程,但由于数据集不是很大,它实际上会使速度变慢,因为库需要执行额外的步骤来确定处理数据的最佳方式.