Python Panda TIme系列重新采样

时间:2015-03-26 16:17:20

标签: python time-series resampling

我在熊猫中编写脚本,但我无法提取我想要的正确输出。这是问题所在:

我可以从CSV文件中读取此数据。在这里你可以找到表结构

http://postimg.org/image/ie0od7ejr/

我希望从上表数据输出

Month     Demo1 Demo 2
June 2013 3     1    
July 2013 2     2
在Demo1和Demo2列中的

我想计算以u开头的常规输入和输入。 6月份共有3个常规入场,1个入境以u开头。

到目前为止我已经写了这段代码。

   import sqlite3
   from pylab import *       
   import numpy as np
   import matplotlib.pyplot as plt
   import matplotlib.dates as mdates
   import datetime as dt

   conn = sqlite3.connect('Demo2.sqlite')
   df = pd.read_sql("SELECT * FROM Data", conn)
   df['DateTime'] = df['DATE'].apply(lambda x: dt.date.fromtimestamp(x))

   df1 = df.set_index('DateTime', drop=False)

感谢advace的帮助。最终结果将是条形图。我可以从上面提到的输出中绘制图形。

1 个答案:

答案 0 :(得分:0)

对于resample,您可以定义两个聚合函数,如下所示:

def countU(x):
    return sum(i[0] == 'u' for i in x)

def countNotU(x):
    return sum(i[0] != 'u' for i in x)

print df.resample('M', how=[countU, countNotU])

或者,请考虑groupby