我尝试使用函数将函数的行方式结果添加到我的数据框中
df.set_Value
。
df
格式为:
Count DTW
DateTime
2015-01-16 10 0
2015-01-17 28 0
使用df.setValue
dw.set_Value(idx, 'col', dtw) # idx and dtw are int values
TypeError: cannot insert DatetimeIndex with incompatible label
如何解决此错误或有哪些具有可比效率的替代方法?
答案 0 :(得分:4)
我认为你有Series
,而不是DataFrame
,所以请使用Series.set_value
将索引转换为datetime
dw = pd.Series([-2374], index = [pd.to_datetime('2015-01-18')])
dw.index.name = 'DateTime'
print (dw)
DateTime
2015-01-18 -2374
dtype: int64
print (dw.set_value(pd.to_datetime('2015-01-19'), 1))
DateTime
2015-01-18 -2374
2015-01-19 1
dtype: int64
print (dw.set_value(pd.datetime(2015, 1, 19), 1))
DateTime
2015-01-18 -2374
2015-01-19 1
dtype: int64
print (dw)
Count DTW
DateTime
2015-01-16 10 0
2015-01-17 28 0
dw.ix[1, 'DTW'] = 10
#dw.DTW.iloc[1] = 10
print (dw)
Count DTW
DateTime
2015-01-16 10 0
2015-01-17 28 10