У меня есть фрейм данных со столбцами дат.
Я знаю, как сдвинуть даты на фиксированное количество месяцев (например, добавить 3 месяца ко всем датам в столбце х); однако я не могу понять, как сдвинуть даты на количество месяцев, которое не фиксировано, а является другим столбцом кадра данных.
Есть идеи?
Я скопировал минимальный пример ниже. Я получаю следующую ошибку:
The truth value of a Series is ambiguous
Большое спасибо!
import pandas as pd
import numpy as np
import datetime
df = pd.DataFrame()
df['year'] = np.arange(2000,2010)
df['month'] = 3
df['mydate'] = pd.to_datetime( (df.year * 10000 + df.month * 100 +1).apply(str), format='%Y%m%d')
df['month shift'] = np.arange(0,10)
# if I want to shift mydate by 3 months, I can convert it to DatetimeIndex and use dateOffset:
df['my date shifted by 3 months'] = pd.DatetimeIndex( df['mydate'] ) + pd.DateOffset(months = 3)
# however, how do I shift mydate by the number of months in the column 'month shift'?
#This does NOT work:
df['my date shifted'] = pd.DatetimeIndex( df['mydate'] ) + pd.DateOffset(months = df['month shift'])
print df
Подробнее здесь: https://stackoverflow.com/questions/354 ... d-x-months
Как сдвинуть даты в кадре данных pandas (добавить x месяцев)? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение