У меня есть pandas dataFrame из смешанных типов, некоторые строки, а некоторые - числа. Я хотел бы заменить значения NaN в строковых столбцов, и NAN значения в поплавковых колонок 0.Fillna в нескольких столбцах на месте в Python Pandas
Рассмотрим небольшой пример фиктивной «»:
df = pd.DataFrame({'Name':['Jack','Sue',pd.np.nan,'Bob','Alice','John'],
'A': [1, 2.1, pd.np.nan, 4.7, 5.6, 6.8],
'B': [.25, pd.np.nan, pd.np.nan, 4, 12.2, 14.4],
'City':['Seattle','SF','LA','OC',pd.np.nan,pd.np.nan]})
Теперь я могу сделать это в 3 линии:
df['Name'].fillna('.',inplace=True)
df['City'].fillna('.',inplace=True)
df.fillna(0,inplace=True)
Поскольку это небольшой кадр данных, возможно, 3 строки. В моем реальном примере (который я не могу поделиться здесь из-за причин конфиденциальности данных), у меня есть еще много строковых столбцов и числовых столбцов. Я в конечном итоге написал много строк только для fillna. Есть ли лаконичный способ сделать это?
В вашем реальном примере для столбцов строки находятся «NaN» или строка «NaN»? – EdChum
NaN, а не строка «NaN» – ozzy