Я читаю несколько электронных таблиц таймсеров в dataframe pandas и объединяю их вместе с общим индексом datetime pandas. Регистратор данных, регистрировавший тайм-сайт, не на 100% точнее, что делает передискретизацию очень раздражающей, потому что в зависимости от того, будет ли время немного выше или ниже отбираемого интервала, он создаст NaN и начнет делать мои ряды похожими на ломаную линию. Вот мой кодКруглый индекс индексов pandas?
def loaddata(filepaths):
t1 = time.clock()
for i in range(len(filepaths)):
xl = pd.ExcelFile(filepaths[i])
df = xl.parse(xl.sheet_names[0], header=0, index_col=2, skiprows=[0,2,3,4], parse_dates=True)
df = df.dropna(axis=1, how='all')
df = df.drop(['Decimal Year Day', 'Decimal Year Day.1', 'RECORD'], axis=1)
if i == 0:
dfs = df
else:
dfs = concat([dfs, df], axis=1)
t2 = time.clock()
print "Files loaded into dataframe in %s seconds" %(t2-t1)
files = ["London Lysimeters corrected 5min.xlsx", "London Water Balance 5min.xlsx"]
data = loaddata(files)
Вот идея индекса:
data.index
класс 'pandas.tseries.index.DatetimeIndex'> [2012-08-27 12: 05: 00,000002, ..., 2013-07-12 15: 10: 00,000004] Длина: 91910, Freq: Нет, Timezone: Нет
что бы самый быстрый и общий для округления индекса до ближайшей минуты?
Работает идеально и очень быстро! Я не знал, что вы могли бы обработать datetimeindex таким образом – pbreach
вы на самом деле * имеете *, чтобы обрабатывать их под капотом (который обычно скрывает '' index'') – Jeff
это также может быть хорошим дополнением к индексу кода, вы можете следить за этой проблемой: https://github.com/pydata/pandas/issues/4314 – Jeff