以下内容很棒:
以下内容出现了无法解释的缓慢。我只是使第一个数据框的时间戳不唯一,并将其作为列而不是索引:
times1h = pandas.DatetimeIndex(start='2010-01-01', end='2014-01-01', freq='1h')
times10min = pandas.DatetimeIndex(start='2010-01-01', end='2014-01-01', freq='10T')
wind=pandas.DataFrame({'wind':0}, index=times1h)
power=pandas.DataFrame({'power':0}, index=times10min)
%timeit pandas.merge(wind, power, how='inner', left_index=True, right_index=True)
100 loops, best of 3: 5.2 ms per loop
以下内容出现了无法解释的缓慢。我只是使第一个数据框的时间戳不唯一,并将其作为列而不是索引:
times1h = pandas.DatetimeIndex(start='2010-01-01', end='2014-01-01', freq='1h')
times10min = pandas.DatetimeIndex(start='2010-01-01', end='2014-01-01', freq='10T')
wind=pandas.DataFrame({'time':pandas.concat([pandas.Series(times1h), pandas.Series(times1h)]), 'wind':0})
power=pandas.DataFrame({'power':0}, index=times10min)
%timeit pandas.merge(wind, power, how='inner', left_on='time', right_index=True)
1 loops, best of 3: 16.6 s per loop
为什么速度这么慢?我能做些什么来解决吗?
我正在尝试获取一组(x,y)点以进行功率曲线拟合。
我使用pandas 0.13.1,因为它是WinPython中包含的版本 :)