4
我有以下的數據幀,我想轉換數值列「B」爲整轉換浮到int和離開零點
a b c
0 1 NaN 3
1 5 7200.0 20
2 5 580.0 20
下面的代碼拋出異常 「ValueError異常:無法轉換NA爲整型「
df['b'] = df['b'].astype(int)
我該如何將浮點數轉換爲int並將空值保留原樣?
我有以下的數據幀,我想轉換數值列「B」爲整轉換浮到int和離開零點
a b c
0 1 NaN 3
1 5 7200.0 20
2 5 580.0 20
下面的代碼拋出異常 「ValueError異常:無法轉換NA爲整型「
df['b'] = df['b'].astype(int)
我該如何將浮點數轉換爲int並將空值保留原樣?
np.NaN
是浮點唯一的東西,所以它必須被刪除才能創建一個整數pd.Series。 Jeon的建議工作很棒如果0在df['b']
中不是有效值。例如:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1, 5, 5], 'b': [np.NaN, 7200.0, 580.0], 'c': [3, 20, 20]})
print(df, '\n\n')
df['b'] = np.nan_to_num(df['b']).astype(int)
print(df)
是否有有效0的,那麼你可以先用一些獨特的價值(例如,-999999999)全部更換,該轉換上面,然後用0替換這些獨特的價值觀。
無論哪種方式,你必須記住,你有0的地方有一次NaNs。在進行各種數值分析時(例如,平均值等),您需要小心過濾掉這些數據。
請問爲什麼?看起來醜陋?整數數組不能有'NaN' – Jeon
我得到你,所以我應該首先將NaN替換爲0,然後將列轉換爲int? – billboard
如果你真的想,0,-1或你可以區分的東西 – Jeon