小编Cha*_*s R的帖子

获得Pandas系列的一周的第一天

我有以下df:

import pandas as pd
from datetime import datetime, timedelta

df = pd.DataFrame([
        ["A", "2018-08-03"],
        ["B", "2018-08-20"]
])
df.columns = ["Item", "Date"]
Run Code Online (Sandbox Code Playgroud)

我想得到我的df的每一行的一周的第一天.我试着这样做:

df['Date'] =  pd.to_datetime(df['Date'], format='%Y-%m-%d')
df["Day_of_Week"] = df.Date.dt.weekday

df["First_day_of_the_week"] = df.Date - timedelta(days=df.Day_of_Week)
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误消息:

TypeError: unsupported type for timedelta days component: Series
Run Code Online (Sandbox Code Playgroud)

如何获得系列赛的第一天?我的预期结果是:

  • "A","2018-08-03","2018-07-30"
  • "B","2018-08-20","2018-08-20"

python datetime series pandas

6
推荐指数
3
解决办法
2507
查看次数

选择多标题数据框中的一列

我有一个带有多个标头的 df :

multicol = pd.MultiIndex.from_tuples([('France', '2017'), ('France', '2018'),('UK', '2017'), ('UK', '2018')], names = ("Country", "Year"))
df = pd.DataFrame([[1, 2, 5, 8], [2, 4, 2, 9]], index=['Number', 'Volume'], columns=multicol)
Run Code Online (Sandbox Code Playgroud)

我只想打印 2018 年的法国专栏。

我怎样才能做到这一点 ?

python pandas

5
推荐指数
1
解决办法
2722
查看次数

datetime ISO week 表示一年中的第一天和最后一天都在同一周

我正在运行 Python 3.8.3,我发现 ISO Week 格式 (%V) 有些奇怪:

2019 年的第一天和最后一天都在第一周。

from datetime import date
print(date(2019, 1, 1).strftime('%Y-W%V'))
print(date(2019, 12, 29).strftime('%Y-W%V'))
print(date(2019, 12, 31).strftime('%Y-W%V'))
Run Code Online (Sandbox Code Playgroud)

输出:

from datetime import date
print(date(2019, 1, 1).strftime('%Y-W%V'))
print(date(2019, 12, 29).strftime('%Y-W%V'))
print(date(2019, 12, 31).strftime('%Y-W%V'))
Run Code Online (Sandbox Code Playgroud)

为什么它会这样?

python datetime-format python-3.x python-datetime

2
推荐指数
1
解决办法
640
查看次数