Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据时间列更改日期列的值?_Python_Python 3.x_Pandas - Fatal编程技术网

Python 如何根据时间列更改日期列的值?

Python 如何根据时间列更改日期列的值?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个df Time Samstag Sonntag Werktag 00:15:00 95.3 87.8 94.7 00:30:00 95.5 88.3 94.1 00:45:00 96.2 89.0 94.1 01:00:00 97.4 90.1 95.0 01:15:00 98.9 91.3 96.6 01:30:00 100.3 92.4 98.4 01:45:00 1

我有一个
df

Time    Samstag Sonntag Werktag
00:15:00    95.3    87.8    94.7
00:30:00    95.5    88.3    94.1
00:45:00    96.2    89.0    94.1
01:00:00    97.4    90.1    95.0
01:15:00    98.9    91.3    96.6
01:30:00    100.3   92.4    98.4
01:45:00    101.0   92.9    99.8
02:00:00    100.4   92.5    99.8
02:15:00    98.2    91.0    98.0
02:30:00    95.1    88.7    95.1
02:45:00    91.9    86.4    91.9
03:00:00    89.5    84.7    89.5
03:15:00    88.6    84.0    88.4
03:30:00    88.6    84.0    88.3
03:45:00    88.7    84.0    88.3
04:00:00    88.3    83.5    87.7
04:15:00    86.8    82.1    86.1
04:30:00    85.1    80.6    84.3
04:45:00    84.2    80.1    83.5
05:00:00    85.3    81.6    84.7
05:15:00    89.0    85.9    88.5
05:30:00    94.1    91.6    94.0
05:45:00    99.3    97.0    99.5
06:00:00    102.8   100.4   103.4
06:15:00    103.7   100.7   104.7
06:30:00    102.6   98.8    104.0
06:45:00    100.7   96.2    102.4
07:00:00    99.2    94.3    101.0
07:15:00    99.1    94.4    100.8
07:30:00    100.8   95.7    102.1
07:45:00    104.4   97.6    105.3
08:00:00    110.1   99.2    110.7
08:15:00    117.7   99.7    118.2
08:30:00    126.1   99.6    126.7
08:45:00    133.9   99.2    134.7
09:00:00    139.7   99.2    140.9
09:15:00    142.4   99.8    144.2
09:30:00    142.9   100.9   145.4
09:45:00    142.4   102.1   145.5
10:00:00    142.1   102.8   145.8
10:15:00    142.9   102.9   147.0
10:30:00    144.5   102.5   149.0
10:45:00    146.3   101.8   151.2
11:00:00    147.6   101.0   153.0
11:15:00    147.9   100.4   154.0
11:30:00    147.5   100.0   154.3
11:45:00    146.8   99.8    154.3
12:00:00    146.4   99.8    154.2
12:15:00    146.3   100.0   154.3
12:30:00    146.5   100.5   154.5
12:45:00    146.2   101.0   154.3
13:00:00    145.1   101.6   153.6
13:15:00    142.8   102.2   152.2
13:30:00    139.3   102.4   149.9
13:45:00    134.6   102.1   147.0
14:00:00    128.8   101.0   143.3
14:15:00    122.3   98.9    139.2
14:30:00    115.5   96.3    135.2
14:45:00    109.4   93.8    132.1
15:00:00    104.6   91.9    130.6
15:15:00    101.8   91.1    131.3
15:30:00    100.5   91.2    133.5
15:45:00    100.2   91.8    136.2
16:00:00    100.4   92.5    138.5
16:15:00    100.6   93.1    139.8
16:30:00    101.0   93.4    140.3
16:45:00    101.9   93.6    140.5
17:00:00    103.4   93.7    140.9
17:15:00    105.8   93.9    142.0
17:30:00    108.7   94.3    143.7
17:45:00    111.5   95.2    145.8
18:00:00    113.7   96.8    148.2
18:15:00    115.0   99.1    150.6
18:30:00    115.7   102.2   152.5
18:45:00    116.3   105.7   153.3
19:00:00    117.3   109.5   152.4
19:15:00    119.0   113.2   149.3
19:30:00    120.6   116.3   144.4
19:45:00    121.4   117.9   138.4
20:00:00    120.4   117.3   131.8
20:15:00    117.0   114.2   125.3
20:30:00    112.1   109.4   119.3
20:45:00    106.8   104.2   114.3
21:00:00    102.2   99.8    110.7
21:15:00    99.2    97.1    108.8
21:30:00    97.4    95.9    108.1
21:45:00    96.4    95.4    108.0
22:00:00    95.6    95.0    107.7
22:15:00    94.5    94.1    106.6
22:30:00    93.3    92.8    104.9
22:45:00    92.0    91.2    103.0
23:00:00    90.7    89.5    101.0
23:15:00    89.6    87.8    99.3
23:30:00    88.6    86.4    97.8
23:45:00    88.0    85.7    96.6
00:00:00    87.7    85.9    95.6
我做到了:

td = pd.to_timedelta(df['Time'].astype(str))
df1 = df.assign(Time=td.mask(td == pd.Timedelta(0),td + pd.Timedelta('1 days 00:00:00')), a=1)
df2 = pd.DataFrame({'dates': pd.date_range(
    '01.01.2020', '31.12.2020'), 'a': 1})

df = df2.merge(df1, how='outer').drop('a', axis=1)
df['dates'] = df['dates'].add(df.pop('Time')).dt.strftime('%d.%m.%Y %H:%M')

df['dates'] = pd.to_datetime(df['dates'], dayfirst=True)
df['day'] = df['dates'].dt.day_name()
它给出了以下输出:

dates   Samstag Sonntag Werktag day
2020-01-01 00:15:00 95.3    87.8    94.7    Wednesday
2020-01-01 00:30:00 95.5    88.3    94.1    Wednesday
2020-01-01 00:45:00 96.2    89.0    94.1    Wednesday
2020-01-01 01:00:00 97.4    90.1    95.0    Wednesday
2020-01-01 01:15:00 98.9    91.3    96.6    Wednesday
2020-01-01 01:30:00 100.3   92.4    98.4    Wednesday
2020-01-01 01:45:00 101.0   92.9    99.8    Wednesday
2020-01-01 02:00:00 100.4   92.5    99.8    Wednesday
2020-01-01 02:15:00 98.2    91.0    98.0    Wednesday
2020-01-01 02:30:00 95.1    88.7    95.1    Wednesday
2020-01-01 02:45:00 91.9    86.4    91.9    Wednesday
2020-01-01 03:00:00 89.5    84.7    89.5    Wednesday
2020-01-01 03:15:00 88.6    84.0    88.4    Wednesday
2020-01-01 03:30:00 88.6    84.0    88.3    Wednesday
2020-01-01 03:45:00 88.7    84.0    88.3    Wednesday
2020-01-01 04:00:00 88.3    83.5    87.7    Wednesday
2020-01-01 04:15:00 86.8    82.1    86.1    Wednesday
2020-01-01 04:30:00 85.1    80.6    84.3    Wednesday
2020-01-01 04:45:00 84.2    80.1    83.5    Wednesday
2020-01-01 05:00:00 85.3    81.6    84.7    Wednesday
2020-01-01 05:15:00 89.0    85.9    88.5    Wednesday
2020-01-01 05:30:00 94.1    91.6    94.0    Wednesday
2020-01-01 05:45:00 99.3    97.0    99.5    Wednesday
2020-01-01 06:00:00 102.8   100.4   103.4   Wednesday
2020-01-01 06:15:00 103.7   100.7   104.7   Wednesday
2020-01-01 06:30:00 102.6   98.8    104.0   Wednesday
2020-01-01 06:45:00 100.7   96.2    102.4   Wednesday
2020-01-01 07:00:00 99.2    94.3    101.0   Wednesday
2020-01-01 07:15:00 99.1    94.4    100.8   Wednesday
2020-01-01 07:30:00 100.8   95.7    102.1   Wednesday
2020-01-01 07:45:00 104.4   97.6    105.3   Wednesday
2020-01-01 08:00:00 110.1   99.2    110.7   Wednesday
2020-01-01 08:15:00 117.7   99.7    118.2   Wednesday
2020-01-01 08:30:00 126.1   99.6    126.7   Wednesday
2020-01-01 08:45:00 133.9   99.2    134.7   Wednesday
2020-01-01 09:00:00 139.7   99.2    140.9   Wednesday
2020-01-01 09:15:00 142.4   99.8    144.2   Wednesday
2020-01-01 09:30:00 142.9   100.9   145.4   Wednesday
2020-01-01 09:45:00 142.4   102.1   145.5   Wednesday
2020-01-01 10:00:00 142.1   102.8   145.8   Wednesday
2020-01-01 10:15:00 142.9   102.9   147.0   Wednesday
2020-01-01 10:30:00 144.5   102.5   149.0   Wednesday
2020-01-01 10:45:00 146.3   101.8   151.2   Wednesday
2020-01-01 11:00:00 147.6   101.0   153.0   Wednesday
2020-01-01 11:15:00 147.9   100.4   154.0   Wednesday
2020-01-01 11:30:00 147.5   100.0   154.3   Wednesday
2020-01-01 11:45:00 146.8   99.8    154.3   Wednesday
2020-01-01 12:00:00 146.4   99.8    154.2   Wednesday
2020-01-01 12:15:00 146.3   100.0   154.3   Wednesday
2020-01-01 12:30:00 146.5   100.5   154.5   Wednesday
2020-01-01 12:45:00 146.2   101.0   154.3   Wednesday
2020-01-01 13:00:00 145.1   101.6   153.6   Wednesday
2020-01-01 13:15:00 142.8   102.2   152.2   Wednesday
2020-01-01 13:30:00 139.3   102.4   149.9   Wednesday
2020-01-01 13:45:00 134.6   102.1   147.0   Wednesday
2020-01-01 14:00:00 128.8   101.0   143.3   Wednesday
2020-01-01 14:15:00 122.3   98.9    139.2   Wednesday
2020-01-01 14:30:00 115.5   96.3    135.2   Wednesday
2020-01-01 14:45:00 109.4   93.8    132.1   Wednesday
2020-01-01 15:00:00 104.6   91.9    130.6   Wednesday
2020-01-01 15:15:00 101.8   91.1    131.3   Wednesday
2020-01-01 15:30:00 100.5   91.2    133.5   Wednesday
2020-01-01 15:45:00 100.2   91.8    136.2   Wednesday
2020-01-01 16:00:00 100.4   92.5    138.5   Wednesday
2020-01-01 16:15:00 100.6   93.1    139.8   Wednesday
2020-01-01 16:30:00 101.0   93.4    140.3   Wednesday
2020-01-01 16:45:00 101.9   93.6    140.5   Wednesday
2020-01-01 17:00:00 103.4   93.7    140.9   Wednesday
2020-01-01 17:15:00 105.8   93.9    142.0   Wednesday
2020-01-01 17:30:00 108.7   94.3    143.7   Wednesday
2020-01-01 17:45:00 111.5   95.2    145.8   Wednesday
2020-01-01 18:00:00 113.7   96.8    148.2   Wednesday
2020-01-01 18:15:00 115.0   99.1    150.6   Wednesday
2020-01-01 18:30:00 115.7   102.2   152.5   Wednesday
2020-01-01 18:45:00 116.3   105.7   153.3   Wednesday
2020-01-01 19:00:00 117.3   109.5   152.4   Wednesday
2020-01-01 19:15:00 119.0   113.2   149.3   Wednesday
2020-01-01 19:30:00 120.6   116.3   144.4   Wednesday
2020-01-01 19:45:00 121.4   117.9   138.4   Wednesday
2020-01-01 20:00:00 120.4   117.3   131.8   Wednesday
2020-01-01 20:15:00 117.0   114.2   125.3   Wednesday
2020-01-01 20:30:00 112.1   109.4   119.3   Wednesday
2020-01-01 20:45:00 106.8   104.2   114.3   Wednesday
2020-01-01 21:00:00 102.2   99.8    110.7   Wednesday
2020-01-01 21:15:00 99.2    97.1    108.8   Wednesday
2020-01-01 21:30:00 97.4    95.9    108.1   Wednesday
2020-01-01 21:45:00 96.4    95.4    108.0   Wednesday
2020-01-01 22:00:00 95.6    95.0    107.7   Wednesday
2020-01-01 22:15:00 94.5    94.1    106.6   Wednesday
2020-01-01 22:30:00 93.3    92.8    104.9   Wednesday
2020-01-01 22:45:00 92.0    91.2    103.0   Wednesday
2020-01-01 23:00:00 90.7    89.5    101.0   Wednesday
2020-01-01 23:15:00 89.6    87.8    99.3    Wednesday
2020-01-01 23:30:00 88.6    86.4    97.8    Wednesday
2020-01-01 23:45:00 88.0    85.7    96.6    Wednesday
2020-01-02 00:00:00 87.7    85.9    95.6    Thursday
2020-01-02 00:15:00 95.3    87.8    94.7    Thursday
2020-01-02 00:30:00 95.5    88.3    94.1    Thursday
2020-01-02 00:45:00 96.2    89.0    94.1    Thursday
2020-01-02 01:00:00 97.4    90.1    95.0    Thursday
2020-01-02 01:15:00 98.9    91.3    96.6    Thursday
2020-01-02 01:30:00 100.3   92.4    98.4    Thursday
2020-01-02 01:45:00 101.0   92.9    99.8    Thursday
2020-01-02 02:00:00 100.4   92.5    99.8    Thursday
2020-01-02 02:15:00 98.2    91.0    98.0    Thursday
2020-01-02 02:30:00 95.1    88.7    95.1    Thursday
2020-01-02 02:45:00 91.9    86.4    91.9    Thursday
2020-01-02 03:00:00 89.5    84.7    89.5    Thursday
2020-01-02 03:15:00 88.6    84.0    88.4    Thursday
2020-01-02 03:30:00 88.6    84.0    88.3    Thursday
2020-01-02 03:45:00 88.7    84.0    88.3    Thursday
2020-01-02 04:00:00 88.3    83.5    87.7    Thursday
2020-01-02 04:15:00 86.8    82.1    86.1    Thursday
2020-01-02 04:30:00 85.1    80.6    84.3    Thursday
2020-01-02 04:45:00 84.2    80.1    83.5    Thursday
2020-01-02 05:00:00 85.3    81.6    84.7    Thursday
2020-01-02 05:15:00 89.0    85.9    88.5    Thursday
2020-01-02 05:30:00 94.1    91.6    94.0    Thursday
2020-01-02 05:45:00 99.3    97.0    99.5    Thursday
2020-01-02 06:00:00 102.8   100.4   103.4   Thursday
2020-01-02 06:15:00 103.7   100.7   104.7   Thursday
2020-01-02 06:30:00 102.6   98.8    104.0   Thursday
2020-01-02 06:45:00 100.7   96.2    102.4   Thursday
2020-01-02 07:00:00 99.2    94.3    101.0   Thursday
2020-01-02 07:15:00 99.1    94.4    100.8   Thursday
2020-01-02 07:30:00 100.8   95.7    102.1   Thursday
2020-01-02 07:45:00 104.4   97.6    105.3   Thursday
2020-01-02 08:00:00 110.1   99.2    110.7   Thursday
2020-01-02 08:15:00 117.7   99.7    118.2   Thursday
2020-01-02 08:30:00 126.1   99.6    126.7   Thursday
2020-01-02 08:45:00 133.9   99.2    134.7   Thursday
2020-01-02 09:00:00 139.7   99.2    140.9   Thursday
2020-01-02 09:15:00 142.4   99.8    144.2   Thursday
2020-01-02 09:30:00 142.9   100.9   145.4   Thursday
2020-01-02 09:45:00 142.4   102.1   145.5   Thursday
2020-01-02 10:00:00 142.1   102.8   145.8   Thursday
2020-01-02 10:15:00 142.9   102.9   147.0   Thursday
2020-01-02 10:30:00 144.5   102.5   149.0   Thursday
2020-01-02 10:45:00 146.3   101.8   151.2   Thursday
2020-01-02 11:00:00 147.6   101.0   153.0   Thursday
2020-01-02 11:15:00 147.9   100.4   154.0   Thursday
2020-01-02 11:30:00 147.5   100.0   154.3   Thursday
2020-01-02 11:45:00 146.8   99.8    154.3   Thursday
2020-01-02 12:00:00 146.4   99.8    154.2   Thursday
2020-01-02 12:15:00 146.3   100.0   154.3   Thursday
2020-01-02 12:30:00 146.5   100.5   154.5   Thursday
2020-01-02 12:45:00 146.2   101.0   154.3   Thursday
2020-01-02 13:00:00 145.1   101.6   153.6   Thursday
2020-01-02 13:15:00 142.8   102.2   152.2   Thursday
2020-01-02 13:30:00 139.3   102.4   149.9   Thursday
2020-01-02 13:45:00 134.6   102.1   147.0   Thursday
2020-01-02 14:00:00 128.8   101.0   143.3   Thursday
2020-01-02 14:15:00 122.3   98.9    139.2   Thursday
2020-01-02 14:30:00 115.5   96.3    135.2   Thursday
2020-01-02 14:45:00 109.4   93.8    132.1   Thursday
2020-01-02 15:00:00 104.6   91.9    130.6   Thursday
2020-01-02 15:15:00 101.8   91.1    131.3   Thursday
2020-01-02 15:30:00 100.5   91.2    133.5   Thursday
2020-01-02 15:45:00 100.2   91.8    136.2   Thursday
2020-01-02 16:00:00 100.4   92.5    138.5   Thursday
2020-01-02 16:15:00 100.6   93.1    139.8   Thursday
2020-01-02 16:30:00 101.0   93.4    140.3   Thursday
2020-01-02 16:45:00 101.9   93.6    140.5   Thursday
2020-01-02 17:00:00 103.4   93.7    140.9   Thursday
2020-01-02 17:15:00 105.8   93.9    142.0   Thursday
2020-01-02 17:30:00 108.7   94.3    143.7   Thursday
2020-01-02 17:45:00 111.5   95.2    145.8   Thursday
2020-01-02 18:00:00 113.7   96.8    148.2   Thursday
2020-01-02 18:15:00 115.0   99.1    150.6   Thursday
2020-01-02 18:30:00 115.7   102.2   152.5   Thursday
2020-01-02 18:45:00 116.3   105.7   153.3   Thursday
2020-01-02 19:00:00 117.3   109.5   152.4   Thursday
2020-01-02 19:15:00 119.0   113.2   149.3   Thursday
2020-01-02 19:30:00 120.6   116.3   144.4   Thursday
2020-01-02 19:45:00 121.4   117.9   138.4   Thursday
2020-01-02 20:00:00 120.4   117.3   131.8   Thursday
2020-01-02 20:15:00 117.0   114.2   125.3   Thursday
2020-01-02 20:30:00 112.1   109.4   119.3   Thursday
2020-01-02 20:45:00 106.8   104.2   114.3   Thursday
2020-01-02 21:00:00 102.2   99.8    110.7   Thursday
2020-01-02 21:15:00 99.2    97.1    108.8   Thursday
2020-01-02 21:30:00 97.4    95.9    108.1   Thursday
2020-01-02 21:45:00 96.4    95.4    108.0   Thursday
2020-01-02 22:00:00 95.6    95.0    107.7   Thursday
2020-01-02 22:15:00 94.5    94.1    106.6   Thursday
2020-01-02 22:30:00 93.3    92.8    104.9   Thursday
2020-01-02 22:45:00 92.0    91.2    103.0   Thursday
2020-01-02 23:00:00 90.7    89.5    101.0   Thursday
2020-01-02 23:15:00 89.6    87.8    99.3    Thursday
2020-01-02 23:30:00 88.6    86.4    97.8    Thursday
2020-01-02 23:45:00 88.0    85.7    96.6    Thursday
2020-01-03 00:00:00 87.7    85.9    95.6    Friday
2020-01-03 00:15:00 95.3    87.8    94.7    Friday
2020-01-03 00:30:00 95.5    88.3    94.1    Friday
2020-01-03 00:45:00 96.2    89.0    94.1    Friday
我想做的是将
2020-01-02 00:00:00时的
day的值从
星期四更改为
星期三
,同样地,将
day
2020-01-03 00:00时的值从
星期五
更改为
星期四
,依此类推

换句话说:第二天
00:00:00
day
值应该与前一天的值相似,从
00:15:00
开始,新的一天应该开始

预期产出

dates   Samstag Sonntag Werktag day
2020-01-01 00:15:00 95.3    87.8    94.7    Wednesday
2020-01-01 00:30:00 95.5    88.3    94.1    Wednesday
2020-01-01 00:45:00 96.2    89.0    94.1    Wednesday
2020-01-01 01:00:00 97.4    90.1    95.0    Wednesday
2020-01-01 01:15:00 98.9    91.3    96.6    Wednesday
2020-01-01 01:30:00 100.3   92.4    98.4    Wednesday
2020-01-01 01:45:00 101.0   92.9    99.8    Wednesday
2020-01-01 02:00:00 100.4   92.5    99.8    Wednesday
2020-01-01 02:15:00 98.2    91.0    98.0    Wednesday
2020-01-01 02:30:00 95.1    88.7    95.1    Wednesday
2020-01-01 02:45:00 91.9    86.4    91.9    Wednesday
2020-01-01 03:00:00 89.5    84.7    89.5    Wednesday
2020-01-01 03:15:00 88.6    84.0    88.4    Wednesday
2020-01-01 03:30:00 88.6    84.0    88.3    Wednesday
2020-01-01 03:45:00 88.7    84.0    88.3    Wednesday
2020-01-01 04:00:00 88.3    83.5    87.7    Wednesday
2020-01-01 04:15:00 86.8    82.1    86.1    Wednesday
2020-01-01 04:30:00 85.1    80.6    84.3    Wednesday
2020-01-01 04:45:00 84.2    80.1    83.5    Wednesday
2020-01-01 05:00:00 85.3    81.6    84.7    Wednesday
2020-01-01 05:15:00 89.0    85.9    88.5    Wednesday
2020-01-01 05:30:00 94.1    91.6    94.0    Wednesday
2020-01-01 05:45:00 99.3    97.0    99.5    Wednesday
2020-01-01 06:00:00 102.8   100.4   103.4   Wednesday
2020-01-01 06:15:00 103.7   100.7   104.7   Wednesday
2020-01-01 06:30:00 102.6   98.8    104.0   Wednesday
2020-01-01 06:45:00 100.7   96.2    102.4   Wednesday
2020-01-01 07:00:00 99.2    94.3    101.0   Wednesday
2020-01-01 07:15:00 99.1    94.4    100.8   Wednesday
2020-01-01 07:30:00 100.8   95.7    102.1   Wednesday
2020-01-01 07:45:00 104.4   97.6    105.3   Wednesday
2020-01-01 08:00:00 110.1   99.2    110.7   Wednesday
2020-01-01 08:15:00 117.7   99.7    118.2   Wednesday
2020-01-01 08:30:00 126.1   99.6    126.7   Wednesday
2020-01-01 08:45:00 133.9   99.2    134.7   Wednesday
2020-01-01 09:00:00 139.7   99.2    140.9   Wednesday
2020-01-01 09:15:00 142.4   99.8    144.2   Wednesday
2020-01-01 09:30:00 142.9   100.9   145.4   Wednesday
2020-01-01 09:45:00 142.4   102.1   145.5   Wednesday
2020-01-01 10:00:00 142.1   102.8   145.8   Wednesday
2020-01-01 10:15:00 142.9   102.9   147.0   Wednesday
2020-01-01 10:30:00 144.5   102.5   149.0   Wednesday
2020-01-01 10:45:00 146.3   101.8   151.2   Wednesday
2020-01-01 11:00:00 147.6   101.0   153.0   Wednesday
2020-01-01 11:15:00 147.9   100.4   154.0   Wednesday
2020-01-01 11:30:00 147.5   100.0   154.3   Wednesday
2020-01-01 11:45:00 146.8   99.8    154.3   Wednesday
2020-01-01 12:00:00 146.4   99.8    154.2   Wednesday
2020-01-01 12:15:00 146.3   100.0   154.3   Wednesday
2020-01-01 12:30:00 146.5   100.5   154.5   Wednesday
2020-01-01 12:45:00 146.2   101.0   154.3   Wednesday
2020-01-01 13:00:00 145.1   101.6   153.6   Wednesday
2020-01-01 13:15:00 142.8   102.2   152.2   Wednesday
2020-01-01 13:30:00 139.3   102.4   149.9   Wednesday
2020-01-01 13:45:00 134.6   102.1   147.0   Wednesday
2020-01-01 14:00:00 128.8   101.0   143.3   Wednesday
2020-01-01 14:15:00 122.3   98.9    139.2   Wednesday
2020-01-01 14:30:00 115.5   96.3    135.2   Wednesday
2020-01-01 14:45:00 109.4   93.8    132.1   Wednesday
2020-01-01 15:00:00 104.6   91.9    130.6   Wednesday
2020-01-01 15:15:00 101.8   91.1    131.3   Wednesday
2020-01-01 15:30:00 100.5   91.2    133.5   Wednesday
2020-01-01 15:45:00 100.2   91.8    136.2   Wednesday
2020-01-01 16:00:00 100.4   92.5    138.5   Wednesday
2020-01-01 16:15:00 100.6   93.1    139.8   Wednesday
2020-01-01 16:30:00 101.0   93.4    140.3   Wednesday
2020-01-01 16:45:00 101.9   93.6    140.5   Wednesday
2020-01-01 17:00:00 103.4   93.7    140.9   Wednesday
2020-01-01 17:15:00 105.8   93.9    142.0   Wednesday
2020-01-01 17:30:00 108.7   94.3    143.7   Wednesday
2020-01-01 17:45:00 111.5   95.2    145.8   Wednesday
2020-01-01 18:00:00 113.7   96.8    148.2   Wednesday
2020-01-01 18:15:00 115.0   99.1    150.6   Wednesday
2020-01-01 18:30:00 115.7   102.2   152.5   Wednesday
2020-01-01 18:45:00 116.3   105.7   153.3   Wednesday
2020-01-01 19:00:00 117.3   109.5   152.4   Wednesday
2020-01-01 19:15:00 119.0   113.2   149.3   Wednesday
2020-01-01 19:30:00 120.6   116.3   144.4   Wednesday
2020-01-01 19:45:00 121.4   117.9   138.4   Wednesday
2020-01-01 20:00:00 120.4   117.3   131.8   Wednesday
2020-01-01 20:15:00 117.0   114.2   125.3   Wednesday
2020-01-01 20:30:00 112.1   109.4   119.3   Wednesday
2020-01-01 20:45:00 106.8   104.2   114.3   Wednesday
2020-01-01 21:00:00 102.2   99.8    110.7   Wednesday
2020-01-01 21:15:00 99.2    97.1    108.8   Wednesday
2020-01-01 21:30:00 97.4    95.9    108.1   Wednesday
2020-01-01 21:45:00 96.4    95.4    108.0   Wednesday
2020-01-01 22:00:00 95.6    95.0    107.7   Wednesday
2020-01-01 22:15:00 94.5    94.1    106.6   Wednesday
2020-01-01 22:30:00 93.3    92.8    104.9   Wednesday
2020-01-01 22:45:00 92.0    91.2    103.0   Wednesday
2020-01-01 23:00:00 90.7    89.5    101.0   Wednesday
2020-01-01 23:15:00 89.6    87.8    99.3    Wednesday
2020-01-01 23:30:00 88.6    86.4    97.8    Wednesday
2020-01-01 23:45:00 88.0    85.7    96.6    Wednesday
2020-01-02 00:00:00 87.7    85.9    95.6    Wednesday
2020-01-02 00:15:00 95.3    87.8    94.7    Thursday
2020-01-02 00:30:00 95.5    88.3    94.1    Thursday
2020-01-02 00:45:00 96.2    89.0    94.1    Thursday
2020-01-02 01:00:00 97.4    90.1    95.0    Thursday
2020-01-02 01:15:00 98.9    91.3    96.6    Thursday
2020-01-02 01:30:00 100.3   92.4    98.4    Thursday
2020-01-02 01:45:00 101.0   92.9    99.8    Thursday
2020-01-02 02:00:00 100.4   92.5    99.8    Thursday
2020-01-02 02:15:00 98.2    91.0    98.0    Thursday
2020-01-02 02:30:00 95.1    88.7    95.1    Thursday
2020-01-02 02:45:00 91.9    86.4    91.9    Thursday
2020-01-02 03:00:00 89.5    84.7    89.5    Thursday
2020-01-02 03:15:00 88.6    84.0    88.4    Thursday
2020-01-02 03:30:00 88.6    84.0    88.3    Thursday
2020-01-02 03:45:00 88.7    84.0    88.3    Thursday
2020-01-02 04:00:00 88.3    83.5    87.7    Thursday
2020-01-02 04:15:00 86.8    82.1    86.1    Thursday
2020-01-02 04:30:00 85.1    80.6    84.3    Thursday
2020-01-02 04:45:00 84.2    80.1    83.5    Thursday
2020-01-02 05:00:00 85.3    81.6    84.7    Thursday
2020-01-02 05:15:00 89.0    85.9    88.5    Thursday
2020-01-02 05:30:00 94.1    91.6    94.0    Thursday
2020-01-02 05:45:00 99.3    97.0    99.5    Thursday
2020-01-02 06:00:00 102.8   100.4   103.4   Thursday
2020-01-02 06:15:00 103.7   100.7   104.7   Thursday
2020-01-02 06:30:00 102.6   98.8    104.0   Thursday
2020-01-02 06:45:00 100.7   96.2    102.4   Thursday
2020-01-02 07:00:00 99.2    94.3    101.0   Thursday
2020-01-02 07:15:00 99.1    94.4    100.8   Thursday
2020-01-02 07:30:00 100.8   95.7    102.1   Thursday
2020-01-02 07:45:00 104.4   97.6    105.3   Thursday
2020-01-02 08:00:00 110.1   99.2    110.7   Thursday
2020-01-02 08:15:00 117.7   99.7    118.2   Thursday
2020-01-02 08:30:00 126.1   99.6    126.7   Thursday
2020-01-02 08:45:00 133.9   99.2    134.7   Thursday
2020-01-02 09:00:00 139.7   99.2    140.9   Thursday
2020-01-02 09:15:00 142.4   99.8    144.2   Thursday
2020-01-02 09:30:00 142.9   100.9   145.4   Thursday
2020-01-02 09:45:00 142.4   102.1   145.5   Thursday
2020-01-02 10:00:00 142.1   102.8   145.8   Thursday
2020-01-02 10:15:00 142.9   102.9   147.0   Thursday
2020-01-02 10:30:00 144.5   102.5   149.0   Thursday
2020-01-02 10:45:00 146.3   101.8   151.2   Thursday
2020-01-02 11:00:00 147.6   101.0   153.0   Thursday
2020-01-02 11:15:00 147.9   100.4   154.0   Thursday
2020-01-02 11:30:00 147.5   100.0   154.3   Thursday
2020-01-02 11:45:00 146.8   99.8    154.3   Thursday
2020-01-02 12:00:00 146.4   99.8    154.2   Thursday
2020-01-02 12:15:00 146.3   100.0   154.3   Thursday
2020-01-02 12:30:00 146.5   100.5   154.5   Thursday
2020-01-02 12:45:00 146.2   101.0   154.3   Thursday
2020-01-02 13:00:00 145.1   101.6   153.6   Thursday
2020-01-02 13:15:00 142.8   102.2   152.2   Thursday
2020-01-02 13:30:00 139.3   102.4   149.9   Thursday
2020-01-02 13:45:00 134.6   102.1   147.0   Thursday
2020-01-02 14:00:00 128.8   101.0   143.3   Thursday
2020-01-02 14:15:00 122.3   98.9    139.2   Thursday
2020-01-02 14:30:00 115.5   96.3    135.2   Thursday
2020-01-02 14:45:00 109.4   93.8    132.1   Thursday
2020-01-02 15:00:00 104.6   91.9    130.6   Thursday
2020-01-02 15:15:00 101.8   91.1    131.3   Thursday
2020-01-02 15:30:00 100.5   91.2    133.5   Thursday
2020-01-02 15:45:00 100.2   91.8    136.2   Thursday
2020-01-02 16:00:00 100.4   92.5    138.5   Thursday
2020-01-02 16:15:00 100.6   93.1    139.8   Thursday
2020-01-02 16:30:00 101.0   93.4    140.3   Thursday
2020-01-02 16:45:00 101.9   93.6    140.5   Thursday
2020-01-02 17:00:00 103.4   93.7    140.9   Thursday
2020-01-02 17:15:00 105.8   93.9    142.0   Thursday
2020-01-02 17:30:00 108.7   94.3    143.7   Thursday
2020-01-02 17:45:00 111.5   95.2    145.8   Thursday
2020-01-02 18:00:00 113.7   96.8    148.2   Thursday
2020-01-02 18:15:00 115.0   99.1    150.6   Thursday
2020-01-02 18:30:00 115.7   102.2   152.5   Thursday
2020-01-02 18:45:00 116.3   105.7   153.3   Thursday
2020-01-02 19:00:00 117.3   109.5   152.4   Thursday
2020-01-02 19:15:00 119.0   113.2   149.3   Thursday
2020-01-02 19:30:00 120.6   116.3   144.4   Thursday
2020-01-02 19:45:00 121.4   117.9   138.4   Thursday
2020-01-02 20:00:00 120.4   117.3   131.8   Thursday
2020-01-02 20:15:00 117.0   114.2   125.3   Thursday
2020-01-02 20:30:00 112.1   109.4   119.3   Thursday
2020-01-02 20:45:00 106.8   104.2   114.3   Thursday
2020-01-02 21:00:00 102.2   99.8    110.7   Thursday
2020-01-02 21:15:00 99.2    97.1    108.8   Thursday
2020-01-02 21:30:00 97.4    95.9    108.1   Thursday
2020-01-02 21:45:00 96.4    95.4    108.0   Thursday
2020-01-02 22:00:00 95.6    95.0    107.7   Thursday
2020-01-02 22:15:00 94.5    94.1    106.6   Thursday
2020-01-02 22:30:00 93.3    92.8    104.9   Thursday
2020-01-02 22:45:00 92.0    91.2    103.0   Thursday
2020-01-02 23:00:00 90.7    89.5    101.0   Thursday
2020-01-02 23:15:00 89.6    87.8    99.3    Thursday
2020-01-02 23:30:00 88.6    86.4    97.8    Thursday
2020-01-02 23:45:00 88.0    85.7    96.6    Thursday
2020-01-03 00:00:00 87.7    85.9    95.6    Thursday
2020-01-03 00:15:00 95.3    87.8    94.7    Friday
2020-01-03 00:30:00 95.5    88.3    94.1    Friday
2020-01-03 00:45:00 96.2    89.0    94.1    Friday
如何做到这一点

编辑1

import pandas as pd
df = pd.DataFrame({ 'dates': ['2020-01-01 22:15:00',
                              '2020-01-01 22:35:00',
                              '2020-01-01 22:45:00',
                              '2020-01-01 23:00:00',
                              '2020-01-01 23:15:00',
                              '2020-01-01 23:30:00',
                              '2020-01-01 23:45:00',
                              '2020-01-02 00:00:00',
                              '2020-01-02 22:15:00',
                              '2020-01-02 22:35:00',
                              '2020-01-02 22:45:00',
                              '2020-01-02 23:00:00',
                              '2020-01-02 23:15:00',
                              '2020-01-02 23:30:00',
                              '2020-01-02 23:45:00',
                              '2020-01-03 00:00:00'],
'expected_output':['Wednesday',
       'Wednesday',
       'Wednesday',
       'Wednesday',
       'Wednesday',
       'Wednesday',
       'Wednesday',
       'Wednesday',
       'Thursday',
       'Thursday',
       'Thursday',
       'Thursday',
       'Thursday','Thursday','Thursday','Thursday']})

只需使用
apply
检查
时间戳的分钟数即可

# df = pd.DataFrame({'dates': ['2020-01-01 22:15:00', .....]}, )
# convert str date into Timestamp
df['dates'] = pd.to_datetime(df['dates'])


def calculate_day(x):
    # get previous day
    if x.hour == 0 and x.minute < 15:
        return (x - pd.DateOffset(days=1)).day_name()
    return x.day_name()


df['day'] = df['dates'].apply(calculate_day)
print(df)
#                 dates        day
#0  2020-01-01 22:15:00  Wednesday
#...
#df=pd.DataFrame({'dates':['2020-01-01 22:15:00',…]})
#将str日期转换为时间戳
df['dates']=pd.to_datetime(df['dates'])
def计算日(x):
#前一天
如果x.hour==0且x.minute<15:
返回(x-pd.DateOffset(days=1)).day_name()
返回x.day_name()
df['day']=df['dates']。应用(计算日)
打印(df)
#日期日
#0200-01-01 22:15:00星期三
#...
JFYI:已弃用。使用
day\u name()

希望这有帮助。

嘿@Danila,我试过你的建议,但是它给出了一个不正确的输出。它给出:
Samstag Sonntag Werktag day 2020-01-01 00:15:00 95.3 87.8 94.7星期三2020-01-01-01 00:30:00 95.5 88.3 94.1星期三2020-01-01-01 00:45:00 96.2 89.0 94.1星期三2020-01-01-01 01 01:00 97.4 90.1 95.0星期二2020-01-01-01-01 01 01 01:15:00 98.9 91.3 96.6星期三2020-01-01-01-01-01:01:00 100.4 98.4星期三2020-01-01 01 01:45:00 101.0 92.9 99.8周三2020-01-01 02:00 100.4 92.5 99.8周二2020-01-01 02:15:00 98.2 91.0 98.0周三2020-01-01 02:30:00 95.1 88.7 95.1周三2020-01-01 02:45:00 91.9 86.4 91.9周三2020-01-01-01 03:00 89.5 84.7 89.5周二
@Junkrat hi。您能在问题中添加一些记录(如我的回答)并简短输出吗?这是当许多不必要的记录和列。或者请分享一些我答错的记录。嘿,@Danila。我正在使用我在问题中发布的
df
。如果您可以尝试运行我发布的代码,您将获得我发布的输出,然后您可以检查我的输出与预期输出之间的差异。您的答案是它影响每小时的值,而不是期望的值。如果你在我发布的
df
上运行你的代码,你就会知道其中的区别