2017-07-06 43 views
5

Tamsayılar sütununu değiştirirken, Pandalar, NaN'nin varlığı nedeniyle tam sayıları yüzer olarak otomatik olarak dönüştürdüğünde sütümün nasıl düzeltileceğini biliyorum. vardiya böylece yüzen tüm tamsayılar dönüştürerek bir değerse ve tanıtır eğer I basically use the method described here.Pandalar Kayması İnt'leri Float'a ve Yuvarlara Dönüştürür

Ancak, bu yüzden bile başlangıçta ne olduğunu çoğaltma değil geri tamsayıya onu yeniden şekillendirmeyi (dönem damgaları üzerine mesela) olur bazı yuvarlama var.

Bunu düzeltmenin herhangi bir yolu var mı?

Örnek Verileri:

pd.DataFrame({'epochee':[1495571400259317500,1495571400260585120,1495571400260757200, 1495571400260866800]}) 
Out[19]: 
       epoch 
0 1495571790919317503 
1 1495999999999999999 
2 1495571400265555555 
3 1495571400267777777 

Örnek Kod:

df['prior_epochee'] = df['epochee'].shift(1) 
df.dropna(axis=0, how='any', inplace=True) 
df['prior_epochee'] = df['prior_epochee'].astype(int) 

Ortaya çıkışı:

Out[22]: 
       epoch   prior_epoch 
1 1444444444444444444 1400000000000000000 
2 1433333333333333333 1490000000000000000 
3 1777777777777777777 1499999999999999948 
+0

kendinizi kayabilir, yine np.nan satırları istemediğini biliyoruz? –

+0

@Cedric güncellenen soruya bakın – guy

cevap

1

nedeniyle np.nanve şamandıra olarak döküm edildiğinde int ne olur biliyor Çünkü Eğer bu durum örnek verileri sağlayabilir numpy

df[1:].assign(prior_epoch=df.epoch.values[:-1]) 

       epoch   prior_epoch 
1 1495571400260585120 1495571400259317500 
2 1495571400260757200 1495571400260585120 
3 1495571400260866800 1495571400260757200