2016-06-22 257 views
1

我有一個看起來像如下一個數據框(地址關鍵是指數):如何計算與楠大熊貓數據幀的平均值

address date1 date2 date3 date4 date5 date6 date7 <email> NaN NaN NaN 1 NaN NaN NaN

我想計算跨平均行,但是當我使用DataFrame.mean(axis=1)時,我得到了NaN(在上面的示例中,我想要1的平均值)。即使我使用DataFrame.mean(axis=1, skipna=True, numeric_only=True),我也會得到NaN。我怎樣才能得到這個DataFrame中的行的正確意思?

+1

'df.info()'在這裏顯示什麼?儘管有外觀,但沒有數字類型,例如它實際上是一個字符串 – EdChum

+0

'dtypes:float64(6),object(1)'它將1註冊爲對象。 –

+0

你已經說過你在這裏有8列,但如果地址實際上是你的索引,那麼你只有7列,所以這是沒有意義的,你可以檢查'date4' dtype是否真的是數字,如果不轉換doint' df ['date4'] = df ['date4']。astype(int)'或'float' – EdChum

回答

1

儘管你dtypes沒有數字因此NaN值,則需要使用astype投類型出場:

df['date4'] = df['date4'].astype(int) 

那麼它會工作,這取決於你如何加載/創建這個數據,那麼它應該是東西,你應該在這個階段,而不是在一個處理後步驟可能

可以確認什麼dtypes的,但看着從df.info()輸出,並還可以過濾非數字列,具體使用select_dtypes糾正:df.select_dtypes(include=[np.number])來選擇數字列