Я изучаю материальную информатику в питоне. Я хочу рассматривать NaN (нитрид натрия) как химическую формулу в виде строки, но она воспринимается как NaN (не число).
import pandas as pd
df = pd.read_csv('sample.csv', dtype = {'formula': str})
print(df.loc[0]['formula'])
# >> nan
print(type(df.loc[0]['formula']))
# >> float
Файл csv для чтения выглядит следующим образом
id,formula
1,NaN
2,NaHCO3
Извините, добавил.
По умолчанию read_csv распознает следующие строки как NaN:
''
'#N/A'
'#N/A N/A'
'#NA'
'-1.#IND'
'-1.#QNAN'
'-NaN'
'-nan'
'1.#IND'
'1.#QNAN'
'<NA>'
'N/A'
'NA'
'NULL'
'NaN'
'n/a'
'nan'
'null'
Используйте вариант na_values=[''], keep_default_na=False
:
df = pd.read_csv('sample.csv', na_values=[''], keep_default_na=False,
dtype = {'formula': str})
поделитесь также своим фреймворком данных ..!