当前位置: 首页 > 知识库问答 >
问题:

如何在Python中最有效地从日期时间数组中选择特定月份?[副本]

轩辕亮
2023-03-14

我有时间序列数据,我已经将其分解为月平均值和最大值好几年了。我想弄清楚的是,如何仅为该数据选择特定的月份值,在我的例子中是5月-10月。我知道这可能可以通过循环(例如if语句或使用find)来完成,但我希望找到一种更有效的分割数据的方法。

这是我到目前为止的情况:

#Import packages and assign to variables
import pandas as pd
import csv
from matplotlib import pyplot as plt
import os

#Change working directory to where file is located
cwd = os.getcwd()
os.chdir("C:/Users/zrr81/Downloads/Climate Dev/Python/Synoptic Client Data")

#Read in file
data = pd.read_csv('KCDC.2019-11-01.csv', parse_dates = ['Date_Time'], index_col = ['Date_Time'])

#Skip header rows
data = data.iloc[1:]

#Create tables with monthly mean & max wind speeds
wind = pd.DataFrame(data, columns = ['wind_speed'])
wind.dropna(how = 'any', inplace = True)
wind['wind_speed'] = wind['wind_speed'].astype(str).astype(float)
wind_m = wind.resample('M').mean()
wind_max = wind.resample('M').max()

下面是我正在处理的输出片段:

2016-01-31       12.35
2016-02-29       19.55
2016-03-31       19.03
2016-04-30       16.98
2016-05-31       15.95
2016-06-30       16.46
2016-07-31       14.40
2016-08-31       13.89

共有1个答案

朱欣荣
2023-03-14
  • 使用Pandas:布尔索引
  • 熊猫:. isin
  • 日期列必须是日期时间类型。使用df.info()
  • 检查类型
  • 使用df['Date_Time']=pd.to_datetime(df['Date_Time'])
df[df['Date_Time'].dt.month.isin([5, 6, 7, 8, 9, 10])]
  • 如果处理日期时间索引,则不需要. dt
df[df.index.month.isin([5, 6, 7, 8, 9, 10])]
 类似资料:
  • 问题内容: 我有一个类型为“ datetime”的列,其值类似于2009-10-20 10:00:00 我想从datetime提取日期并编写类似的查询: 以下是最好的方法吗? 但是,这将返回一个空的结果集。有什么建议么? 问题答案: 您可以使用MySQL的功能: 您也可以尝试以下方法: 有关使用的性能影响的信息,请参见此答案。

  • 然后我运行下面这行: 当ASP.NET运行这行时,我得到错误“ORA-01843:不是一个有效的月份”。 似乎命令将“dateResult”列理解为日期,但它是一个整数。 我已经试过这样的石膏了,也不起作用:

  • 本文向大家介绍从基于特定月份的MySQL表中选择数据?,包括了从基于特定月份的MySQL表中选择数据?的使用技巧和注意事项,需要的朋友参考一下 使用MySQL中的方法选择基于月份的日期。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出- 以下是根据特定月份从表中选择数据的查询- 输出结果 这将产生以下输出-

  • 问题内容: 所以我的代码如下: 我正在做一个测试,看是否可以过滤月份,所以它只显示11月的日期,但这没有用。它给了我以下错误:AttributeError:’Int64Index’对象没有属性’month’。 如果我做 然后我得到类’pandas.tslib.Timestamp’,这使我相信存储在数据框中的对象类型是Timestamp对象。(我不确定之前的错误是“ Int64Index”来自何处)

  • 我正在使用日期选择器和选定的datePicker模式作为时间。当我加载日期选择器时,它显示的是当前时间。但我想设置默认时间总是5:00 PM。 我试过下面的方法,但对我不起作用。 请帮我把时间默认为下午5点。谢谢.

  • 我有一个25列的数据帧和一个数组([2,4,8,10,11,12,13,14,17,18,19,20,21,22,23],dtype=int64)。我想从dataframe中选择一些特定的列,这些列的索引由数组的元素给出,并将它们存储在一个新的dataframe中(比如df1)。例如,新数据帧将有原始数据帧的第2、第4、第23列。