使用Python在Pandas数据框中创建星期几列

詹姆斯·屋檐:

使用Python在Pandas数据框中创建星期几列

我想将csv文件读取到pandas数据框中,将日期列从字符串格式解析为日期对象,然后生成一个新列以指示星期几。

这是我正在尝试的:

我想做的是这样的:

import pandas as pd

import csv

df = pd.read_csv('data.csv', parse_dates=['date']))

df['day-of-week'] = df['date'].weekday()


AttributeError: 'Series' object has no attribute 'weekday'

谢谢您的帮助。詹姆士

利亚姆·弗利(Liam Foley):

熊猫0.23+

使用pandas.Series.dt.day_name(),因为pandas.Timestamp.weekday_name已弃用:

import pandas as pd


df = pd.DataFrame({'my_dates':['2015-01-01','2015-01-02','2015-01-03'],'myvals':[1,2,3]})
df['my_dates'] = pd.to_datetime(df['my_dates'])

df['day_of_week'] = df['my_dates'].dt.day_name()

输出:

    my_dates  myvals day_of_week
0 2015-01-01       1    Thursday
1 2015-01-02       2      Friday
2 2015-01-03       3    Saturday

熊猫0.18.1+

正如用户jezrael所指出的那样,dt.weekday_name已在0.18.1版中添加了Pandas Docs

import pandas as pd

df = pd.DataFrame({'my_dates':['2015-01-01','2015-01-02','2015-01-03'],'myvals':[1,2,3]})
df['my_dates'] = pd.to_datetime(df['my_dates'])
df['day_of_week'] = df['my_dates'].dt.weekday_name

输出:

    my_dates  myvals day_of_week
0 2015-01-01       1    Thursday
1 2015-01-02       2      Friday
2 2015-01-03       3    Saturday

原始答案:

用这个:

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.dt.dayofweek.html

看到这个:

获取DataFrame的Datetime列的工作日/星期几

如果要使用字符串而不是整数,请执行以下操作:

import pandas as pd

df = pd.DataFrame({'my_dates':['2015-01-01','2015-01-02','2015-01-03'],'myvals':[1,2,3]})
df['my_dates'] = pd.to_datetime(df['my_dates'])
df['day_of_week'] = df['my_dates'].dt.dayofweek

days = {0:'Mon',1:'Tues',2:'Weds',3:'Thurs',4:'Fri',5:'Sat',6:'Sun'}

df['day_of_week'] = df['day_of_week'].apply(lambda x: days[x])

输出:

    my_dates  myvals day_of_week
0 2015-01-01       1       Thurs
1 2015-01-02       2         Fri
2 2015-01-01       3       Thurs

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Pandas Python将字符串拆分为数据帧中的几列?

创建单行python pandas数据框

来自pandas数据框的几列总和

使用列表作为行中的值创建Pandas数据框

Python Pandas动态创建数据框

在Pandas数据框中创建子索引

如何从pandas数据框中创建字典?

Python Pandas使用文本文件创建数据框

Python,Pandas从数据框创建新数据

PYTHON Pandas-基于其他数据框中的值对数据框使用Pandas样式

Python Pandas使用换行符从文件创建数据框?

在数据框中拆分几列

如何使用.map(或其他)更改Pandas数据框中几列的值

使用Pandas创建大型数据框

从str创建数据框而无需在Python中使用Pandas

使用Python从Pandas数据框中的现有日期时间列创建星期几列

在Pandas数据框中创建父子对的字典

Python:在Pandas中,根据条件从数据框中的几列中提取数据,并添加到与某列匹配的其他数据框中

Python Pandas:使用三个不同的值在数据框中创建一列

在Pandas Python中理解数据框以创建新的数据框

Python Pandas过滤并创建新的数据框

比较 r 数据框中几列的值

Pandas 从字典列表中创建数据框

对数据框中的几列进行排名

如何使用 jupyter notebook 在 Pandas 数据框中创建列表

如何从使用 lapply 函数获得的几个数据框中只获取几列?

如何使用 Pandas 中的指定列创建新数据框?

如何使用pandas在数据帧python中编码几列(但不是所有列)

如何在 pandas/python 中创建数据框类