Pandas
keyboard_arrow_down 655 guides
chevron_leftCreating DataFrames Cookbook
Combining multiple Series into a DataFrameCombining multiple Series to form a DataFrameConverting a Series to a DataFrameConverting list of lists into DataFrameConverting list to DataFrameConverting percent string into a numeric for read_csvConverting scikit-learn dataset to Pandas DataFrameConverting string data into a DataFrameCreating a DataFrame from a stringCreating a DataFrame using listsCreating a DataFrame with different type for each columnCreating a DataFrame with empty valuesCreating a DataFrame with missing valuesCreating a DataFrame with random numbersCreating a DataFrame with zerosCreating a MultiIndex DataFrameCreating a Pandas DataFrameCreating a single DataFrame from multiple filesCreating empty DataFrame with only column labelsFilling missing values when using read_csvImporting DatasetImporting tables from PostgreSQL as Pandas DataFramesInitialising a DataFrame using a constantInitialising a DataFrame using a dictionaryInitialising a DataFrame using a list of dictionariesInserting lists into a DataFrame cellKeeping leading zeroes when using read_csvParsing dates when using read_csvPreventing strings from getting parsed as NaN for read_csvReading data from GitHubReading file without headerReading large CSV files in chunksReading n random lines using read_csvReading space-delimited filesReading specific columns from fileReading tab-delimited filesReading the first few lines of a file to create DataFrameReading the last n lines of a fileReading URL using read_csvReading zipped csv file as a DataFrameRemoving Unnamed:0 columnResolving ParserError: Error tokenizing dataSaving DataFrame as zipped csvSkipping rows without skipping header for read_csvSpecifying data type for read_csvTreating missing values as empty strings rather than NaN for read_csv
check_circle
Mark as learned thumb_up
0
thumb_down
0
chat_bubble_outline
0
Comment auto_stories Bi-column layout
settings
Preventing strings from getting parsed as NaN for read_csv in Pandas
schedule May 20, 2023
Last updated local_offer
Tags Python●Pandas
tocTable of Contents
expand_more Master the mathematics behind data science with 100+ top-tier guides
Start your free 7-days trial now!
Start your free 7-days trial now!
Consider the following my_data.txt
file:
A,BNA,5a,6
Disabling default NaN
By default, strings like "NA"
will be parsed as NaN
. To prevent such behaviour, set keep_default_na=False
like so:
df
A B0 NA 51 a 6
Here, the NA
that appears in column A
is of type string.
Specifying custom NaN parser
The problem with just setting keep_default_na=False
is that values like nan
and empty entries in the file will no longer be parsed as NaN
.
For instance, if my_data.txt
is as follows:
A,BNA,5a,
Then we get an empty string for column B
as opposed to NaN
:
df
A B0 NA 51 a
This is most often undesirable, so the fix is to specify your own set of values that should be parsed as NaN
using the na_values
parameter:
df = pd.read_csv("my_data.txt", keep_default_na=False, na_values="")df
A B0 NA 5.01 a NaN
Here, we specified that empty values are to be mapped to NaN
.
Related
Pandas | read_csv method
Reads a file, and parses its content into a DataFrame.
Published by Isshin Inada
Edited by 0 others
Did you find this page useful?
thumb_up
thumb_down
Comment
Citation
Ask a question or leave a feedback...
thumb_up
0
thumb_down
0
chat_bubble_outline
0
settings
Enjoy our search
Hit / to insta-search docs and recipes!