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

标签 python pandas dataframe datetime data-cleaning

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()

关于python - 使用 Python 从 Pandas 数据框中的现有日期时间列创建星期几列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61861255/

相关文章:

python - 如何使用 numpy 创建一个从数据数组返回二维值的函数?

python - 为什么类方法/静态方法的 cls.__dict__[meth] 与 getattr(cls, meth) 不同?

python - numpy 是否为此积累了正确的东西?

python - 我如何让 keras 预测 one-hot 矩阵以外的东西?

python - pandas 列的条件累积和

Python、solr 海量查询 : need some suggestions

python - 如何正确修改数据框中的单元格?

python - 在一百万条记录上使用 pandas group by 的有效方法

python - 转置混合类型 DataFrame 的数据类型不正确

python - 给定一个二维 numpy 实数数组,如何生成描述每个数字强度的图像?