Linux和Windows的输出不同?

时间:2016-11-04 10:16:53

标签: python pandas resampling

    import pandas as pd
    df = pd.read_csv('mydataset.csv', parse_dates=['Timestamp'] )
    #print (df)

     mask=(df['Timestamp'].dt.minute<10) & (df['Timestamp'].dt.hour==0)

     df1 = df[mask]
     print (df1)

     df1= df1.set_index('Timestamp')
     #print df1

     df1= df1.resample('D').mean()
     print (df1)

这是我找到平均值的代码。

Windows的输出: -

 Timestamp  Temperature1  Temperature2
2016-09-01         53.80      45.80  
2016-09-02         32.00      56.60  
2016-09-03         30.80      58.30  
2016-09-04         31.00      55.60  
2016-09-05         31.10      55.60  
2016-09-06         31.20      55.50  
2016-09-07         30.80      54.90  
2016-09-08         30.80      54.60  
2016-09-09         31.40      55.10  
2016-09-10         30.70      54.80  
2016-09-11         31.00      54.60  
2016-09-12         31.70      54.90  
2016-09-13         31.10      54.70  
2016-09-14           NaN        NaN   
2016-09-15           NaN        NaN  
2016-09-16         30.30      54.90  
2016-09-17           NaN        NaN  
2016-09-18         31.00      64.60  
2016-09-19           NaN        NaN  
2016-09-20         30.50      56.65  
2016-09-21         30.10      56.40  
2016-09-22         30.00      55.60  
2016-09-23         30.30      56.30  
2016-09-24         49.25      44.00  
2016-09-25         51.50      47.10   
2016-09-26         50.10      45.35  
2016-09-27         50.25      48.00  
2016-09-28         49.70      45.90  
2016-09-29         51.05      48.15  
2016-09-30         50.50      48.50  

这实际上是我的愿望输出,但是这里也有一些日期给出NaN值,而不是理解为什么会发生这种情况,因为我的数据是正确的并且它给出了NaN。

在linux机器中输出就像

Temperature1       35.779053  
temperature2       53.593647  

并非单独提供合并平均值。

我想要日期AVG。 请帮我解决一下这个。 我在用 :- python:2.7.12
大熊猫:0.17.1

1 个答案:

答案 0 :(得分:1)

对于Pandas 0.17.1,您可以这样做:

df1.resample('D', how='mean')

PS the Resample API has been changed in Pandas 0.18.0 ...

关于NaN&#39; - 您可以查看每天有多少条目:

df1.groupby(pd.TimeGrouper(freq='1D')).size()