Zhe*_* Bo 4 python dataframe pandas data-science
我正在尝试从pandas数据框中的"日期"列中提取年/日/月信息.这是我的示例代码:
from datetime import datetime
def date_split(calendar):
for row in calendar:
new_calendar={}
listdate=datetime.strptime(row['date'],'%Y-%M-%D')
Run Code Online (Sandbox Code Playgroud)
我还没有完成完整的代码,但是当我测试运行这部分时,我一直得到这样的错误:
----> 7 listdate=datetime.strptime(row['date'],'%Y-%M-%D')
TypeError: string indices must be integers
Run Code Online (Sandbox Code Playgroud)
任何人有任何想法?
顺便说一句,这是我使用的数据帧(calendar_data):

看来你需要to_datetime:
print (df['date'].dtype)
object
df['date'] = pd.to_datetime(df['date'])
print (df['date'].dtype)
datetime64[ns]
Run Code Online (Sandbox Code Playgroud)
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day'] = df['date'].dt.day
Run Code Online (Sandbox Code Playgroud)
如果需要list的dateS:
listdate = df['date'].dt.date.tolist()
print (listdate)
[datetime.date(2017, 9, 5),
datetime.date(2017, 9, 4),
datetime.date(2017, 9, 3),
datetime.date(2017, 9, 2),
datetime.date(2017, 9, 1)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15874 次 |
| 最近记录: |