【发布时间】:2019-07-26 18:39:06
【问题描述】:
我需要向数据框添加一列,以便第 0 行是 2019 年 2 月 15 日。第 1 行是第 16 行,等等。我尝试过使用索引:
import numpy as np
import pandas as pd
df=pd.DataFrame()
df['a']=np.arange(10,20)
df['date from index']=df.apply( lambda x: pd.to_datetime('15-2-2019') + pd.DateOffset(days=x.index), axis=1 )
但我明白了:
TypeError: ('必须是 str,而不是 int','发生在索引 0')
我承认我不明白。 我尝试创建一个显式列来代替索引:
df=pd.DataFrame()
df['a']=np.arange(10,20)
df['counter']=np.arange(0,df.shape[0])
df['date from counter']=df.apply( lambda x: pd.to_datetime('15-2-2019') + pd.DateOffset(days=x['counter']), axis=1 )
但这给了我:
TypeError: ('timedelta days 组件不支持的类型: numpy.int32', '发生在索引 0')
我做错了什么?
【问题讨论】:
-
谢谢你们!只是为了我的理解,我在我的例子中做错了什么?
-
编辑了我的答案