2016-11-04 1 views
1
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) 

dies ist mein Code für die Suche nach Durchschnitt.Ausgabeunterschiede in Linux und Windows?

Ausgabe für 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 

Das ist mein Wunsch Ausgang tatsächlichen, aber auch hier einige Daten geben NaN Wert, nicht zu verstehen, warum dies geschieht, weil meine Daten richtig ist und sein Geben NaN.

In Linux-Maschine ist die Ausgabe wie

Temperature1  35.779053 
temperature2  53.593647 

Avg kombiniert Geben datewise nicht einzeln.

Ich möchte datewise AVG. bitte hilf mir dabei. Ich verwende: - Python: 2.7.12
Pandas: 0.17.1

+0

sind da irgendwelche 0's ich n die Daten? könnte ein div/0 verursachen, was zu NAN führt. – Ajurna

Antwort

1

Für Pandas 0.17.1 können Sie es auf diese Weise tun:

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

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

In Bezug zu NaNs - Sie können überprüfen, wie viele Einträge pro Tag Sie haben:

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

ja es funktioniert. Aber warum gibt es NaN. –

+0

@ Til.N, können Sie eine Ausgabe von 'print (df1.groupby (pd.TimeGroup (freq = '1D')). Size())'? Vor allem für die Tage mit Nans ... – MaxU

+0

löschte kommt, wie die 2016-09-14 1 2016-09-15 1 2016-09-17 1 2016-09-19 1 –

Verwandte Themen