首页 \ 问答 \ 使用Datetime索引来分析数据框数据(Using Datetime indexing to analyse dataframe data)

使用Datetime索引来分析数据框数据(Using Datetime indexing to analyse dataframe data)

我正在尝试编写一个程序来计算指定日期和时间内的平均压力,温度和湿度......但不确定为什么我会得到'nan'值...? 这是我的代码:任何想法?

import pandas as pd
import numpy as np

df = pd.DataFrame.from_csv('C:\Users\Joey\Desktop\Python\CSV\TM4CVC.csv',index_col = None)

df2 = pd.DataFrame({'temp':df['Ch1_Value'],
'press':df['Ch2_Value'],
    'humid':df['Ch3_Value'], 'Date' : df['Date'], 'Time' : df['Time']})

df2['DateTime'] = pd.to_datetime(df2.apply(lambda x: x['Date']+ ' '+ x['Time'], 1))

df2.index = pd.to_datetime(df2.pop('DateTime'))

df3 = df2.drop(['Date', 'Time'], 1)

#------------------------------------------------------------------------------

def TempPressHumid(datetime_i, datetime_e):

    index = df3[datetime_i:datetime_e]

    out = {'temp_avg':np.mean(index['temp']),
    'temp_std':np.std(index['temp']),
    'press_avg':np.mean(index['press']),
    'press_std':np.std(index['press']),
    'humid_avg':np.mean(index['humid']),
    'humid_std':np.std(index['humid'])}
    print out


TempPressHumid(datetime_i = '2012-06-25 08:27:19', datetime_e = '2012-01-25 10:59:33')

我的输出是:

{'humid_std': nan, 'press_std': nan, 'humid_avg': nan, 'temp_avg': nan, 'temp_std': nan, 'press_avg': nan}

print df3给了我:

                      humid  press  temp
DateTime                                
2012-06-25 08:21:19  1004.0   21.2  26.0
2012-06-25 08:22:19  1004.0   21.2  26.0
2012-06-25 08:23:19  1004.1   21.3  26.0
-----------------------------------------

等等...


I'm trying to write a program that will compute the average press, temp and humidity within a specified date and time.... but not sure why im getting 'nan' values... ? here is my code: any ideas?

import pandas as pd
import numpy as np

df = pd.DataFrame.from_csv('C:\Users\Joey\Desktop\Python\CSV\TM4CVC.csv',index_col = None)

df2 = pd.DataFrame({'temp':df['Ch1_Value'],
'press':df['Ch2_Value'],
    'humid':df['Ch3_Value'], 'Date' : df['Date'], 'Time' : df['Time']})

df2['DateTime'] = pd.to_datetime(df2.apply(lambda x: x['Date']+ ' '+ x['Time'], 1))

df2.index = pd.to_datetime(df2.pop('DateTime'))

df3 = df2.drop(['Date', 'Time'], 1)

#------------------------------------------------------------------------------

def TempPressHumid(datetime_i, datetime_e):

    index = df3[datetime_i:datetime_e]

    out = {'temp_avg':np.mean(index['temp']),
    'temp_std':np.std(index['temp']),
    'press_avg':np.mean(index['press']),
    'press_std':np.std(index['press']),
    'humid_avg':np.mean(index['humid']),
    'humid_std':np.std(index['humid'])}
    print out


TempPressHumid(datetime_i = '2012-06-25 08:27:19', datetime_e = '2012-01-25 10:59:33')

My output is:

{'humid_std': nan, 'press_std': nan, 'humid_avg': nan, 'temp_avg': nan, 'temp_std': nan, 'press_avg': nan}

print df3 gives me:

                      humid  press  temp
DateTime                                
2012-06-25 08:21:19  1004.0   21.2  26.0
2012-06-25 08:22:19  1004.0   21.2  26.0
2012-06-25 08:23:19  1004.1   21.3  26.0
-----------------------------------------

etc...


原文:https://stackoverflow.com/questions/28109673
更新时间:2024-04-24 18:04

最满意答案

它使用默认的DateTime表示,它在您的系统中来自您的线程当前文化。

如果要更改它,则应手动派生列(使用DataGridTemplateColumn,并在CellTemplate使用它):

<Textbox Text="{Binding Path=DateTimeValue, StringFormat=dd-MM-yyyy}" />

It uses default DateTime representation, which in your system, comes from your thread current culture.

If you want to change it, you should derive your columns manually (use DataGridTemplateColumn, and use this in your CellTemplate):

<Textbox Text="{Binding Path=DateTimeValue, StringFormat=dd-MM-yyyy}" />

相关问答

更多

相关文章

更多

最新问答

更多
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • Java中的不可变类(Immutable class in Java)
  • 寻求多次出现的表达式(Seeking for more than one occurrence of an expression)
  • linux只知道文件名,不知道在哪个目录,怎么找到文件所在目录
  • Actionscript:检查字符串是否包含域或子域(Actionscript: check if string contains domain or subdomain)
  • 懒惰地初始化AutoMapper(Lazily initializing AutoMapper)
  • 使用hasclass为多个div与一个按钮问题(using hasclass for multiple divs with one button Problems)
  • Windows Phone 7:检查资源是否存在(Windows Phone 7: Check If Resource Exists)
  • EXCEL VBA 基础教程下载
  • RoR - 邮件中的动态主体(部分)(RoR - Dynamic body (part) in mailer)
  • 无法在Google Script中返回2D数组?(Can not return 2D Array in Google Script?)
  • JAVA环境变量的设置和对path , classpth ,java_home设置作用和目的?
  • mysql 关于分组查询、时间条件查询
  • 如何使用PowerShell匹配运算符(How to use the PowerShell match operator)
  • Effective C ++,第三版:重载const函数(Effective C++, Third edition: Overloading const function)
  • 如何用DELPHI动态建立MYSQL的数据库和表? 请示出源代码。谢谢!
  • 带有简单redis应用程序的Node.js抛出“未处理的错误”(Node.js with simple redis application throwing 'unhandled error')
  • 使用前端框架带来哪些好处,相对于使用jquery
  • Ruby将字符串($ 100.99)转换为float或BigDecimal(Ruby convert string ($100.99) to float or BigDecimal)
  • 高考完可以去做些什么?注意什么?
  • 如何声明放在main之后的类模板?(How do I declare a class template that is placed after the main?)
  • 如何使用XSLT基于兄弟姐妹对元素进行分组(How to group elements based on their siblings using XSLT)
  • 在wordpress中的所有页面的标志(Logo in all pages in wordpress)
  • R:使用rollapply对列组进行求和的问题(R: Problems using rollapply to sum groups of columns)
  • Allauth不会保存其他字段(Allauth will not save additional fields)
  • python中使用sys模块中sys.exit()好像不能退出?
  • 将Int拆分为3个字节并返回C语言(Splitting an Int to 3 bytes and back in C)
  • 在SD / MMC中启用DDR会导致问题吗?(Enabling DDR in SD/MMC causes problems? CMD 11 gives a response but the voltage switch wont complete)
  • sed没有按预期工作,从字符串中间删除特殊字符(sed not working as expected, removing special character from middle of string)
  • 如何将字符串转换为Elixir中的函数(how to convert a string to a function in Elixir)