使用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'
感谢您的帮助。
使用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
正如用户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
问题内容: 如何获得给定星期几的第一天? 例如,当我写这篇文章时,我们在 WEEK 29。* 我想编写一个MySQL查询,它将使用 WEEKNO 29 作为唯一可用参数返回 7月18日星期日 。 * 问题答案: 您可以使用: 这将为您提供2010年第3周的星期一日期,即2010-01-18。 另一个例子: 请给您2010年第52周的星期日日期,即2010-12-26。 最后,使用原始示例: 这给出
本文向大家介绍如何从R中的数据框中查找星期几?,包括了如何从R中的数据框中查找星期几?的使用技巧和注意事项,需要的朋友参考一下 可以通过使用平日功能来完成。 示例
我正在制作一个应用程序,要求用户为定期事件选择时间和星期几。我已经实现了一个 对话框,但我似乎找不到一个用于选择星期几的对话框。我试过,但这仅适用于月份中的某一天。我能做什么?
问题内容: 创建给定大小的零填充熊猫数据框的最佳方法是什么? 我用过了: 有更好的方法吗? 问题答案: 您可以尝试以下方法:
问题内容: 我有一个日期和字符串类似于的熊猫数据框: 我需要将其扩展/转换为以下内容,在“ 开始” 和“ 结束” 列之间填写几周(W-SAT),然后向前填充“ 注释” 和“ 项目”中 的数据: 用pandas做到这一点的最佳方法是什么?某种多索引适用吗? 问题答案: 您可以遍历每一行并创建一个新的数据框,然后将它们连接在一起
问题内容: 我创建了一个方法,该方法应该采用“ YYYY-MM- DD”形式的字符串,并吐出一个int,该int表示相对于它所在的星期的日期位置(无论两个月之间是否重叠)。因此,例如,sunday = 1 monday = 2,依此类推。 这是我的代码: 我知道这是错误的,但是我尝试了大多数逻辑组合。并且也搞砸了二手或二手。 这是我使用方式的选择: 我不清楚,因为没有DayOfWeekUnit选项