Printing is unavailable

This course is licensed for personal online viewing only.

Public preview • CL-P000000-C28-L1280-3827C560

Home Dashboard
Chapter 42 · Module 4 — Data Input and Output with NumPy

Loading Data with Missing Values

Priority
  • JobHigh
  • InterviewMedium
  • DevelopmentHigh
4,091
words
23
min read
3
tools

Real-world data नेहमी perfect नसतो. CSV किंवा text file मध्ये एखाद्या student चे age, employee चे salary, sensor चे reading किंवा product चे price missing असू शकते.

NumPy मध्ये clean numeric text data load करण्यासाठी np.loadtxt() उपयोगी आहे. पण missing values असलेल्या text data साठी np.genfromtxt() जास्त flexible आहे.

1. Learning Outcomes#

या chapter नंतर तुम्हाला:

  • text data मधील missing value म्हणजे काय ते समजेल
  • np.genfromtxt() कधी आणि का वापरायचे ते समजेल
  • delimiter वापरून columns योग्य प्रकारे parse करता येतील
  • skip_header वापरून header rows skip करता येतील
  • usecols वापरून आवश्यक columns निवडता येतील
  • missing_values वापरून NA सारखे missing markers ओळखता येतील
  • filling_values वापरून missing data साठी replacement देता येईल
  • missing numeric values NaN म्हणून load करता येतील
  • loading करताना dtype ची भूमिका समजेल
  • dtype=None कधी उपयोगी पडू शकते याची basic awareness मिळेल
  • np.loadtxt() आणि np.genfromtxt() मधील practical फरक समजेल
  • inconsistent rows आणि genuine missing fields यातील फरक समजेल
  • loaded array चे shape आणि dtype तपासता येतील
  • np.isnan() वापरून missing values शोधता येतील
  • analysis सुरू करण्यापूर्वी parsed data validate करता येईल

2. Text Data मध्ये Missing Value म्हणजे काय?#

समजा आपल्याकडे student data आहे:

Name Age Score
Asha 21 88
Ravi missing 74
Neha 23 missing

पहिल्या student ची दोन्ही numeric values उपलब्ध आहेत.

पण Ravi चे Age नाही.

Neha चा Score नाही.

ही unavailable values म्हणजे missing values.

Text file मध्ये missing value वेगवेगळ्या प्रकारे दिसू शकते:

Source value Meaning
रिकामी field value दिलेली नाही
NA Not Available
N/A Not Available
? unknown value
missing explicitly missing
custom marker system-specific missing indicator

उदाहरणार्थ comma-separated row Ravi,,74 मध्ये दोन commas मधली जागा रिकामी आहे.

याचा अर्थ त्या column ची value missing आहे.

महत्त्वाचे

Missing value आणि 0 एकच गोष्ट नाही. 0 ही valid numeric value असू शकते. Missing म्हणजे value उपलब्ध नाही.

3. Missing Values असताना Normal Loading का अवघड होते?#

NumPy array मध्ये साधारणपणे एका array मधील values एक consistent dtype follow करतात.

जर data पूर्णपणे numeric असेल तर parsing सोपे असते.

पण file मध्ये numeric value च्या जागी NA आले तर parser समोर problem येते:

88 हे number आहे.

पण NA number नाही.

त्यामुळे loader ला सांगावे लागते:

  1. columns कसे वेगळे करायचे
  2. header कुठे आहे
  3. कोणते columns load करायचे
  4. कोणती value missing समजायची
  5. missing value च्या जागी काय ठेवायचे
  6. final numeric type कोणता असावा

हा पूर्ण flow असा समजा:

Visual Diagram80%

Rendering diagram…

यात np.genfromtxt() अनेक parsing decisions एकाच loading operation मध्ये manage करू शकते.

4. np.genfromtxt()#

np.genfromtxt() ही NumPy function text-based data load करण्यासाठी वापरली जाते.

विशेषतः data मध्ये missing values किंवा mixed parsing requirements असतील तर ती उपयोगी पडते.

Basic form:

PYTHON
import numpy as np

data = np.genfromtxt("students.csv")

पण real files साठी फक्त filename पुरेसे नसते.

आपल्याला अनेकदा delimiter, skip_header, usecols, missing_values, filling_values आणि dtype सांगावे लागतात.

एक practical form:

PYTHON
import numpy as np

data = np.genfromtxt(
    "students.csv",
    delimiter=",",
    skip_header=1,
    usecols=(1, 2),
    dtype=float,
    missing_values="NA",
    filling_values=np.nan
)

आत्ता प्रत्येक parameter step-by-step समजून घेऊ.

5. delimiter Parameter#

delimiter parser ला सांगतो की एका row मधील वेगवेगळ्या fields कोणत्या character ने separate केल्या आहेत.

Comma-separated file असेल तर:

PYTHON
delimiter=","

Semicolon-separated file असेल तर:

PYTHON
delimiter=";"

Tab-separated data साठी tab delimiter वापरता येतो.

छोटा Example#

Source data conceptually असा आहे:

Name Age Score
Asha 21 88
Ravi missing 74
Neha 23 missing

जर text source मध्ये fields comma ने separated असतील तर loader ला comma सांगणे आवश्यक आहे.

PYTHON
data = np.genfromtxt(
    "students.csv",
    delimiter=","
)
Common Mistake

File comma-separated असताना delimiter=";" दिला तर parser योग्य columns तयार करू शकणार नाही.

म्हणून delimiter अंदाजाने देऊ नका.

Source file प्रत्यक्षात कोणता separator वापरतो ते तपासा.

6. skip_header#

CSV files मध्ये पहिली row अनेकदा column names ठेवते.

उदाहरण:

student age score
Asha 21 88
Ravi missing 74

इथे student, age, score ही data values नाहीत.

ते headers आहेत.

जर आपल्याला numeric data load करायचा असेल तर header skip करणे आवश्यक असू शकते.

PYTHON
data = np.genfromtxt(
    "students.csv",
    delimiter=",",
    skip_header=1
)

skip_header=1 म्हणजे सुरुवातीची एक line ignore करा.

जर file च्या सुरुवातीला दोन metadata lines असतील तर:

PYTHON
skip_header=2
Remember

skip_header columns skip करत नाही. तो file च्या सुरुवातीच्या rows किंवा lines skip करतो.

7. usecols#

कधी file मध्ये अनेक columns असतात, पण आपल्याला फक्त काही numeric columns आवश्यक असतात.

समजा file मध्ये:

Column Position Column
0 Name
1 Age
2 Score
3 City

आपल्याला फक्त Age आणि Score load करायचे आहेत.

मग:

PYTHON
usecols=(1, 2)

Complete example:

PYTHON
data = np.genfromtxt(
    "students.csv",
    delimiter=",",
    skip_header=1,
    usecols=(1, 2),
    dtype=float
)

इथे:

  • column 1 म्हणजे Age
  • column 2 म्हणजे Score
Key Idea

usecols मुळे unnecessary columns load करण्याची गरज राहत नाही. विशेषतः text columns असलेल्या file मधून फक्त numeric columns काढताना हे खूप उपयोगी आहे.

8. Missing Numeric Fields Load करणे#

आता actual missing fields पाहू.

आपला source data असा आहे:

Name Age Score
Asha 21 88
Ravi missing 74
Neha 23 missing

Learning example runnable ठेवण्यासाठी आपण StringIO वापरणार आहोत.

StringIO string ला file सारखे वाचण्यास मदत करते.

हा NumPy concept नाही; फक्त example साठी convenient source आहे.

PYTHON
import numpy as np
from io import StringIO

raw_data = """name,age,score
Asha,21,88
Ravi,,74
Neha,23,
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=",",
    skip_header=1,
    usecols=(1, 2),
    dtype=float
)

print(data)

Expected Output#

TEXT
[[21. 88.]
 [nan 74.]
 [23. nan]]

आता हे output समजून घेऊ.

पहिली row:

21 आणि 88 दोन्ही values उपलब्ध आहेत.

म्हणून array मध्ये 21. आणि 88. आले.

दुसऱ्या row मध्ये age missing होती.

म्हणून त्या जागी nan आले.

तिसऱ्या row मध्ये score missing होती.

म्हणून त्या जागीही nan आले.

nan म्हणजे Not a Number.

पण इथे त्याचा practical उपयोग missing numeric value represent करण्यासाठी होत आहे.

9. NaN चा Mental Model#

NaN ला अशी temporary information समजा:

"या numeric position वर सध्या usable number उपलब्ध नाही."

त्यामुळे आपण actual 0 टाकून data चा अर्थ बदलत नाही.

Missing value handling चा flow असा दिसतो:

Visual Diagram80%

Rendering diagram…

महत्त्वाचे

NaN म्हणजे zero नाही. NaN म्हणजे missing किंवा undefined numeric information represent करणारी special floating-point value.

10. missing_values#

Real files मध्ये missing value नेहमी blank field म्हणून येईलच असे नाही.

काही datasets मध्ये:

NA

किंवा:

N/A

किंवा:

?

असा marker असू शकतो.

missing_values parameter वापरून आपण parser ला सांगू शकतो की कोणती value missing म्हणून treat करायची.

उदाहरण:

ID Score
101 88
102 NA
103 76

Code:

PYTHON
import numpy as np
from io import StringIO

raw_data = """id,score
101,88
102,NA
103,76
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=",",
    skip_header=1,
    dtype=float,
    missing_values="NA",
    filling_values=np.nan
)

print(data)

Expected Output#

TEXT
[[101.  88.]
 [102.  nan]
 [103.  76.]]

इथे NA हा text आहे.

पण आपण:

PYTHON
missing_values="NA"

असे सांगितले.

म्हणून NumPy ने NA ला normal numeric value म्हणून convert करण्याचा प्रयत्न केला नाही.

त्याने ती missing value म्हणून ओळखली.

11. filling_values#

Missing value ओळखल्यानंतर पुढचा प्रश्न असतो:

त्या जागी ठेवायचे काय?

यासाठी filling_values वापरतो.

उदाहरण:

PYTHON
filling_values=np.nan

याचा अर्थ:

missing value आढळली तर np.nan वापरा.

काही परिस्थितीत:

PYTHON
filling_values=0

असेही करता येते.

पण इथे मोठी practical काळजी आहे.

Warning

Missing value ला blindly 0 ने replace करू नका. 0 हा genuine observation असू शकतो. त्यामुळे average, total आणि इतर analysis चुकीचे होऊ शकतात.

उदाहरणार्थ salary missing आहे म्हणजे salary zero आहे असा अर्थ होत नाही.

Sensor reading missing आहे म्हणजे sensor ने zero measure केले असा अर्थ होत नाही.

म्हणून numeric analytical data मध्ये np.nan अनेकदा safer representation असते.

12. Blank Fields ला Custom Value ने Fill करणे#

खाली missing fields च्या जागी 0 intentionally वापरले आहे, फक्त filling_values चे behavior समजण्यासाठी.

PYTHON
import numpy as np
from io import StringIO

raw_data = """age,score
21,88
,74
23,
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=",",
    skip_header=1,
    dtype=float,
    filling_values=0
)

print(data)

Expected Output#

TEXT
[[21. 88.]
 [ 0. 74.]
 [23.  0.]]

Code technically योग्य आहे.

पण analysis योग्य आहे की नाही हे business meaning वर अवलंबून आहे.

"Code चालला" म्हणजे "data decision योग्य आहे" असे नाही.

13. dtype During Loading#

dtype parser ला final values कोणत्या data type मध्ये ठेवायच्या याबद्दल direction देतो.

Numeric data आणि missing values साठी आपण अनेकदा:

PYTHON
dtype=float

वापरतो.

याचे महत्त्व असे आहे की np.nan ही floating-point special value आहे.

म्हणून missing numeric data NaN म्हणून ठेवायचा असेल तर floating-point representation practical आहे.

Complete example:

PYTHON
data = np.genfromtxt(
    "scores.csv",
    delimiter=",",
    skip_header=1,
    dtype=float,
    missing_values="NA",
    filling_values=np.nan
)
Interview Point

When numeric data can contain missing values represented as NaN, a floating-point dtype is commonly used because NaN is a floating-point value.

14. dtype=None — Basic Awareness#

कधी text file मध्ये mixed columns असतात.

उदाहरण:

Name Score
Asha 88
Ravi 74

पहिला column string आहे.

दुसरा numeric आहे.

अशा situation मध्ये dtype=None वापरल्यास NumPy available data पाहून suitable types infer करण्याचा प्रयत्न करू शकतो.

उदाहरण:

PYTHON
import numpy as np
from io import StringIO

raw_data = """name,score
Asha,88
Ravi,74
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=",",
    skip_header=1,
    dtype=None,
    encoding="utf-8"
)

Mixed types असल्यामुळे result साध्या homogeneous 2D float array सारखा असेलच असे नाही.

तो structured representation होऊ शकतो.

या chapter मध्ये एवढे लक्षात ठेवा:

  • dtype=float — pure numeric analysis साठी simple आणि predictable
  • dtype=None — NumPy ला type inference करू द्यायची असल्यास उपयोगी
  • mixed-type files हाताळताना resulting structure तपासणे आवश्यक
Remember

dtype=None म्हणजे "dtype नाही" असा अर्थ नाही. NumPy data पाहून dtype infer करण्याचा प्रयत्न करतो.

15. delimiter + skip_header + usecols एकत्र वापरणे#

आता तीन important parameters एकत्र वापरू.

समजा source:

Name Age Score City
Asha 21 88 Pune
Ravi missing 74 Nashik
Neha 23 missing Mumbai

आपल्याला फक्त Age आणि Score पाहिजेत.

PYTHON
import numpy as np
from io import StringIO

raw_data = """name;age;score;city
Asha;21;88;Pune
Ravi;;74;Nashik
Neha;23;;Mumbai
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=";",
    skip_header=1,
    usecols=(1, 2),
    dtype=float
)

print(data)

Expected Output#

TEXT
[[21. 88.]
 [nan 74.]
 [23. nan]]

या एका example मध्ये:

delimiter=";" ने semicolon-separated fields split केले.

skip_header=1 ने header काढला.

usecols=(1, 2) ने Age आणि Score निवडले.

dtype=float ने numeric floating-point array तयार केला.

रिकाम्या numeric fields nan म्हणून आल्या.

हा pattern real data-loading tasks मध्ये खूप common आहे.

16. Complete Missing Marker Example#

आता file blank fields वापरत नाही.

तो NA marker वापरतो.

PYTHON
import numpy as np
from io import StringIO

raw_data = """student,age,score
Asha,21,88
Ravi,NA,74
Neha,23,NA
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=",",
    skip_header=1,
    usecols=(1, 2),
    dtype=float,
    missing_values="NA",
    filling_values=np.nan
)

print(data)
print(data.shape)
print(data.dtype)

Expected Output#

TEXT
[[21. 88.]
 [nan 74.]
 [23. nan]]
(3, 2)
float64

float64 हा common NumPy result आहे. Exact floating dtype platform किंवा explicit configuration वर अवलंबून बदलू शकतो, म्हणून practical code मध्ये dtype inspect करणे चांगली सवय आहे.

17. np.loadtxt() vs np.genfromtxt()#

दोन्ही functions text files मधून data load करू शकतात.

पण त्यांचा practical use वेगळा आहे.

Point np.loadtxt() np.genfromtxt()
Clean numeric text Excellent choice Works
Missing fields Less suitable Designed for flexible handling
Missing markers Limited compared with genfromtxt missing_values available
Replacement values Not the main use case filling_values available
Simple clean files Simple and direct Slightly more flexible
Messy text data Often inconvenient Better choice

सोप्या भाषेत:

Clean numeric file असेल तर np.loadtxt() पुरेसे असू शकते.

Missing values किंवा parsing flexibility लागणार असेल तर np.genfromtxt() जास्त suitable आहे.

Key Idea

Function "better" किंवा "worse" नसते. Source data च्या nature नुसार योग्य loader निवडायचा असतो.

18. Missing Field आणि Inconsistent Row वेगळे आहेत#

हा फरक खूप महत्त्वाचा आहे.

Expected तीन columns आहेत:

Name, Age, Score

Valid row:

Asha,21,88

Missing age असलेली पण structurally valid row:

Ravi,,74

इथे अजूनही तीन fields आहेत:

  1. Ravi
  2. blank
  3. 74

पण ही row:

Ravi,74

वेगळी आहे.

Parser च्या दृष्टीने आता फक्त दोन fields दिसू शकतात.

हे missing field representation नसून row structure mismatch असू शकते.

Row Interpretation
Asha,21,88 complete row
Ravi,,74 three fields, middle value missing
Ravi,74 fewer fields than expected

np.genfromtxt() missing fields handle करण्यास flexible आहे.

पण malformed किंवा inconsistent rows हा वेगळा data-quality problem आहे.

Warning

Missing values handle करणारी function वापरली म्हणून malformed rows automatically trustworthy होत नाहीत.

जर inconsistent rows मुळे parsing error मिळाला तर source data inspect करा.

Wrong row structure silently ignore करून analysis सुरू करणे dangerous ठरू शकते.

19. Loaded Array चे Shape तपासणे#

Data successfully load झाला म्हणजे काम संपले नाही.

पहिली validation:

PYTHON
print(data.shape)

जर आपल्याला 3 rows आणि 2 columns अपेक्षित असतील तर:

Expected Result#

TEXT
(3, 2)

Shape चुकीचा असेल तर शक्य कारणे:

  • wrong delimiter
  • unexpected header lines
  • wrong usecols
  • malformed rows
  • source file अपेक्षेपेक्षा वेगळी
महत्त्वाचे

Analysis करण्यापूर्वी shape तपासणे ही छोटी पण खूप useful habit आहे.

20. Loaded Array चा dtype तपासणे#

दुसरी basic validation:

PYTHON
print(data.dtype)

Numeric missing-value example मध्ये आपल्याला floating dtype अपेक्षित असतो.

यामुळे दोन गोष्टी समजतात:

  1. parsing expected type मध्ये झाले का
  2. NaN सारख्या missing numeric values represent होऊ शकतात का

जर expected numeric data unexpected string-like किंवा structured form मध्ये आला असेल तर पुढे जाण्यापूर्वी loading configuration तपासा.

21. np.isnan() ने Missing Values शोधणे#

NaN values load झाल्यानंतर त्या positions शोधण्यासाठी:

PYTHON
np.isnan(data)

वापरता येते.

Example:

PYTHON
import numpy as np

data = np.array([
    [21.0, 88.0],
    [np.nan, 74.0],
    [23.0, np.nan]
])

missing_mask = np.isnan(data)

print(missing_mask)

Expected Output#

TEXT
[[False False]
 [ True False]
 [False  True]]

False म्हणजे त्या position वर value missing नाही.

True म्हणजे त्या position वर NaN आहे.

याला boolean mask म्हणतात.

22. Array मध्ये एक तरी Missing Value आहे का ते तपासणे#

PYTHON
print(np.isnan(data).any())

Expected Output#

TEXT
True

इथे कमीतकमी एक NaN असल्यामुळे result True आहे.

23. किती Missing Values आहेत ते मोजणे#

Boolean values मध्ये True गणनेत 1 सारखे count होते.

त्यामुळे:

PYTHON
print(np.isnan(data).sum())

Expected Output#

TEXT
2

आपल्या array मध्ये दोन missing positions आहेत.

हा check analysis सुरू करण्यापूर्वी useful आहे.

24. कोणत्या Rows मध्ये Missing Values आहेत?#

Row-level validation साठी:

PYTHON
print(np.isnan(data).any(axis=1))

Expected Output#

TEXT
[False  True  True]

याचा अर्थ:

  • पहिल्या row मध्ये missing value नाही
  • दुसऱ्या row मध्ये किमान एक missing value आहे
  • तिसऱ्या row मध्ये किमान एक missing value आहे

इथे axis=1 row मधील columns तपासण्यासाठी वापरले आहे.

या chapter साठी एवढे लक्षात ठेवा की row-wise missing detection करता येते.

25. Analysis Before Validation#

Real data workflow मध्ये loading नंतर लगेच average किंवा statistical calculation करू नका.

पहिले data validate करा.

Practical flow:

Visual Diagram80%

Rendering diagram…

यात एक important lesson आहे:

Parsing आणि analysis हे दोन वेगळे stages आहेत.

पहिले data योग्य parse झाला आहे याची खात्री करा.

नंतरच analysis करा.

26. Practical Validation Example#

PYTHON
import numpy as np
from io import StringIO

raw_data = """student,age,score
Asha,21,88
Ravi,NA,74
Neha,23,NA
"""

data = np.genfromtxt(
    StringIO(raw_data),
    delimiter=",",
    skip_header=1,
    usecols=(1, 2),
    dtype=float,
    missing_values="NA",
    filling_values=np.nan
)

print("Shape:", data.shape)
print("Dtype:", data.dtype)
print("Missing values:", np.isnan(data).sum())
print("Has missing:", np.isnan(data).any())

Expected Output#

TEXT
Shape: (3, 2)
Dtype: float64
Missing values: 2
Has missing: True

या चार checks मधून आपल्याला लगेच useful information मिळते:

  • किती rows आणि columns load झाले
  • final dtype काय आहे
  • किती missing values आहेत
  • missing data आहे की नाही

27. Real File साठी Practical Pattern#

Actual CSV file वापरताना code असा दिसू शकतो:

PYTHON
import numpy as np

data = np.genfromtxt(
    "students.csv",
    delimiter=",",
    skip_header=1,
    usecols=(1, 2),
    dtype=float,
    missing_values="NA",
    filling_values=np.nan
)

print(data.shape)
print(data.dtype)
print(np.isnan(data).sum())

इथे प्रत्येक parameter चा clear purpose आहे.

Parameter Purpose
"students.csv" source file
delimiter="," comma-separated fields
skip_header=1 header row ignore करणे
usecols=(1, 2) specific columns load करणे
dtype=float numeric float array तयार करणे
missing_values="NA" NA ला missing समजणे
filling_values=np.nan missing positions वर NaN ठेवणे

ही parameter list memorize करण्यापेक्षा प्रत्येक parameter कोणती problem solve करतो ते समजणे महत्त्वाचे आहे.

28. Common Mistakes#

Wrong delimiter#

Source comma-separated आहे पण code:

PYTHON
delimiter=";"

असे वापरतो.

Result चुकीचा parse होऊ शकतो.

Fix:

PYTHON
delimiter=","

Header skip न करणे#

पहिली row text headers ठेवते, पण numeric loader ती data म्हणून process करण्याचा प्रयत्न करतो.

Fix:

PYTHON
skip_header=1

Wrong usecols indexes#

Columns zero-based positions ने select करताना index चुकीचा घेणे common आहे.

Name, Age, Score साठी:

  • Name → 0
  • Age → 1
  • Score → 2

Age आणि Score:

PYTHON
usecols=(1, 2)

Missing marker mismatch#

File मध्ये:

NA

आहे.

पण code मध्ये:

PYTHON
missing_values="MISSING"

आहे.

Marker match होत नाही.

Correct:

PYTHON
missing_values="NA"

Missing ला blindly zero करणे#

PYTHON
filling_values=0

technically चालू शकते.

पण zero आणि missing यांचा अर्थ वेगळा असल्यास analysis distort होईल.

Validation न करता analysis सुरू करणे#

Data load झाला म्हणून:

PYTHON
data.mean()

लगेच करणे योग्य workflow नाही.

पहिले:

  • shape
  • dtype
  • missing count
  • suspicious rows

तपासा.

"घाईचे काम शैतानाचे" ही म्हण data analysis मध्ये अगदी लागू पडते.

29. Job-Ready Loading Checklist#

Text data load करताना हा छोटा checklist वापरा:

  1. Source delimiter ओळखा.
  2. Header lines आहेत का ते तपासा.
  3. आवश्यक columns ठरवा.
  4. Missing representation पहा.
  5. योग्य dtype ठरवा.
  6. Missing replacement consciously निवडा.
  7. Data load करा.
  8. shape तपासा.
  9. dtype तपासा.
  10. NaN detect करा.
  11. Missing count तपासा.
  12. मगच analysis सुरू करा.

30. Quick Recap#

या chapter मधून मुख्य गोष्टी:

  • missing value म्हणजे unavailable data
  • blank field, NA, ? इत्यादी missing representation असू शकतात
  • np.genfromtxt() missing text data handle करण्यासाठी flexible आहे
  • delimiter field separator सांगतो
  • skip_header सुरुवातीच्या rows skip करतो
  • usecols specific columns निवडतो
  • missing_values missing markers define करतो
  • filling_values missing position वर replacement ठरवतो
  • numeric missing values साठी np.nan useful आहे
  • dtype=float आणि NaN practical combination आहे
  • dtype=None type inference साठी वापरता येतो
  • np.loadtxt() clean data साठी simple आहे
  • np.genfromtxt() missing-data scenarios साठी जास्त flexible आहे
  • blank field आणि malformed row एकच गोष्ट नाही
  • loading नंतर shape, dtype आणि missing values validate करणे आवश्यक आहे
  • np.isnan() वापरून NaN detect करता येतो
Summary

Reliable analysis ची सुरुवात calculation पासून होत नाही. ती data योग्य प्रकारे load आणि validate करण्यापासून होते.

Interactive learning

Practice lab

Apply this chapter with guided activities, immediate feedback, explanations, and retry.

Practice loads when this section enters view.