在熊猫中创建具有特定日期的数据框

时间:2020-02-07 02:04:58

标签: python pandas

对于使用Pandas在Python中进行编码,我有些陌生,尝试从原始数据帧创建单独的数据帧时遇到很多麻烦。

我正在尝试创建一个特定的日期范围并创建一个新的数据框,以便能够使用matplotlib创建折线图。

我在这里阅读了多个与我的问题有关的问题,但似乎并没有解决。这是我的代码,在其中进入数据框,然后定义我要在其中精确指定的特定日期范围,然后将平均气温平均起来。

这张图片显示,即使我的数据框中确实包含每个日期,它也会跳过某些日期(例如在DAY列中显示10、20、30)。

import pandas as pd


df['Date'] = df.YR.astype(str) + df.MN.astype(str) + df.DAY.astype(str) 
df.Date = pd.to_datetime(df.Date, format = '%Y%m%d')

start_date = '2018-07-20'
end_date = '2019-08-10'
mask = (df.Date > start_date) & (df.Date <= end_date)
df_18_19 = df.loc[mask]
daily_18_19 = df_18_19.groupby(['Date']).mean()

1 个答案:

答案 0 :(得分:0)

没有输入数据或错误,很难确定,但是我修改了以下代码行:

df['Date'] = df.YR.astype(str) + df.MN.astype(str) + df.DAY.astype(str)
df['Date'] = pd.to_datetime(df.Date, format='%Y%m%d')

收件人:

df['Date'] = df.YR.astype(str) + '-' + df.MN.astype(str) + '-' + df.DAY.astype(str)  
df['Date'] = pd.to_datetime(df.Date, format='%Y-%m-%d')

这是日期格式问题吗?完整代码如下:

import pandas as pd

df['Date'] = df.YR.astype(str) + '-' + df.MN.astype(str) + '-' + df.DAY.astype(str)  
df['Date'] = pd.to_datetime(df.Date, format='%Y-%m-%d')

start_date = '2018-07-20'
end_date = '2019-08-10'
mask = (df['Date'] > start_date) & (df['Date'] <= end_date)
df_18_19 = df.loc[mask]
daily_18_19 = df_18_19.groupby(['Date']).mean()