1
我有一個數據框的值和一個日期列表。 例如,用基於日期列表的DateTime索引替換Pandas DataFrame中的值
data = pd.DataFrame([1,3,5,7,2,3,9,1,3,8,4,5],index=pd.date_range(start='2017-01-01',periods=12),columns=['values'])
我想用一個零值來代替日期列表中的日期值。例如,
date_list = ['2017-01-04', '2017-01-07', '2017-01-10']
我曾嘗試:
data[date_list] == 0
但是這會產生錯誤:
KeyError: "None of [['2017-01-04', '2017-01-07', '2017-01-10']] are in the [index]"
任何人都不會有如何解決這個想法?我有一個非常大的數據幀和日期列表...
我認爲更好的解決辦法,也許,如果需要指定列'data.loc [pd.to_datetime(date_list),'values'] = 0' – jezrael
@jezrael啊是的,我一直在犯這個錯誤。謝謝。 – ayhan
不,我認爲你的解決方案很好,如果需要更換所有列。這取決於OP;) – jezrael