【发布时间】:2021-04-20 01:41:09
【问题描述】:
这个论坛和一般编码的新手,所以如果这是一个重复的问题,我很抱歉,如果是这样,我会删除!
我目前正在使用 python 中的 pandas 并尝试在我的数据框列之一中找到平均值。
我已经创建了我的数据框,并将其称为“数据”:data=pd.DataFrame()。
第一列是日期时间列,我设置如下,将其转换为日期时间:
data.iloc[:,0]= pd.to_datetime(data.iloc[:,0], format="%y/%m/%d %H:%M:%S") #yy/mm/dd hh:mm:ss
我已经能够使用 .mean() 函数为我感兴趣的数据列找到整列的平均值:
data["new6"].mean()
但是,我正在尝试查找此列的平均值,但仅针对特定日期时间范围(并且日期时间数据位于不同的列中)。
这样可以吗?
另一种选择是创建一个较小的数据帧作为当前数据帧的子集。在这里,我将新数据框命名为“data_d.t.specified”,并且只包含所需日期时间范围内的列。
data_d.t.specified = data.drop(data[(0 >= index value here) | 0 <= index value here])
我已经尝试过使用日期时间格式,但在这里使用字符串时遇到了问题,因此选择使用感兴趣的日期时间的索引值。但是,我似乎无法找出我想要的特定日期时间的索引值。
我一直在使用以下代码,其中日期时间列是第 0 列,但它打印的唯一内容是 [] 。
print(data[data[0]=="20/08/23 13:05:02"].index.values)
这是我所说的日期时间列的问题吗?还是我没有正确地将其转换为日期时间?任何帮助将不胜感激!
【问题讨论】:
-
也许尝试将
==比较中的单个字符串转换为Datetime对象。另外,我强烈推荐阅读这篇post
标签: python pandas dataframe datetime mean