簡體   English   中英

從 Pandas dataframe 和 Python 中的現有日期時間列創建星期幾列

[英]Creating day of the week column from existing date time column in Pandas dataframe with Python

嗨 StackOverflow 社區,

我有一個數據框,其中包含從2010-01-042020-01-01datetime時間日期。 這是一個小的隨機片段:

28  2010-01-04  0.70930     LVL
29  2010-01-04  1.58850     AUD
30  2010-01-04  26.28500    CZK
31  2010-01-04  1.49530     CAD
32  2010-01-04  11.16080    HKD
33  2010-01-05  1645.74000  KRW
34  2010-01-05  0.90045     GBP
35  2010-01-05  15.64660    EEK
36  2010-01-05  18.48330    MXN
37  2010-01-05  1.44420     USD
38  2010-01-05  10.50690    ZAR

如何為每個觀察創建一個新的“星期幾”列? 例如,

28  2010-01-04  0.70930     LVL    Monday
29  2010-01-04  1.58850     AUD    Monday
30  2010-01-04  26.28500    CZK    Monday
31  2010-01-04  1.49530     CAD    Monday
32  2010-01-04  11.16080    HKD    Monday
33  2010-01-05  1645.74000  KRW    Tuesday
34  2010-01-05  0.90045     GBP    Tuesday
35  2010-01-05  15.64660    EEK    Tuesday
36  2010-01-05  18.48330    MXN    Tuesday
37  2010-01-05  1.44420     USD    Tuesday
38  2010-01-05  10.50690    ZA     Tuesday

謝謝大家的任何指導。

托尼

這是我的項目的代碼:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as sp

start_date = "2010-01-01"
end_date = "2020-01-01"
symbol = "GBP"

resp = requests.get('https://api.exchangeratesapi.io/history?start_at={}&end_at={}&base=EUR'.format(start_date, end_date))

if resp.status_code != 200:
    # This means something went wrong.
    raise ApiError('GET /tasks/ {}'.format(resp.status_code))

data = resp.json()
df2 = json_normalize(data)
df2.drop(["start_at","base","end_at"],axis=1,inplace=True)
df2.columns = [col.replace('rates.', '') for col in df2.columns]
df3 = df2.stack().reset_index().drop('level_0',axis=1)
df3.columns = ['Date', 'FXRateEUR']
df3['Date'], df3['Symbol'] = df3['Date'].str.split('.', 1).str
df3['Date'] = df3['Date'].astype(str)  + " " +  '00:00:00'
df3['Date'] =  pd.to_datetime(df3['Date'])
df3 = df3.sort_values(by='Date').reset_index(drop=True)
df3.head(50)

你可以使用day_name

df3['Day of the Week'] = pd.to_datetime(df3['Date']).dt.day_name()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM