У меня есть следующий файл analysis.py
. Функция group_analysis
изменяет индекс даты и времени df_input
столбцом Count
df_input
# analysis.py
import pandas as pd
def group_analysis(df_input):
df_input.index = df_input.index - pd.to_timedelta(df_input.Count, unit = 'days')
df_ouput = df_input.sort_index()
return df_ouput
def test(df):
df = df + 1
return df
И у меня есть следующий фрейм данных.
x = pd.DataFrame(np.arange(1,14), index = pd.date_range('2020-01-01', periods = 13, freq= 'D'), columns = ['Count'])
Count
2020-01-01 1
2020-01-02 2
2020-01-03 3
2020-01-04 4
2020-01-05 5
2020-01-06 6
2020-01-07 7
2020-01-08 8
2020-01-09 9
2020-01-10 10
2020-01-11 11
2020-01-12 12
2020-01-13 13
Когда я запускаю следующий код,
import analysis
y = analysis.group_analysis(x)
изменяется индекс даты и времени как для x, так и для y (поэтому x.equals(y)
это True
). Почему group_analysis
меняет как входной, так и выходной индекс datetime? И как я могу заставить его изменить только индекс datetime y
(но не x
)?
Однако при запуске следующего кода x
не изменяется (так, x.equals(y)
составляет True
)
import analysis
y = analysis.test(x)
EDIT: добавлен анализ.test (df).