Add a section to read and parse data into a DataFrame
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- pandas, python
- Ambito
- data, documentation
Direzione di ricerca
Leggi le sezioni “Automating data processing using For Loops” e “Reading CSV Data Using Pandas” collegate nell’issue, insieme alla struttura circostante della lezione. Il lavoro è completato quando la lezione include una sezione chiara sull’analisi delle righe CSV in un DataFrame con l’esempio di generatore proposto e spiega quando questo approccio è utile per dataset di grandi dimensioni.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
How could the content be improved?
The following section introduce how data can be processed using loops
Automating data processing using For Loops
I believe it would also be advantageous to have a similar section in the following
Here we can briefly introduce python generators as well. For example, consider a CSV file where entries are name, age, location. We can parse this data to a dataframe using a generator. Image location is a comma separated string field and we want to read latitude and longitude separately.
| name | age | location |
|---|---|---|
| John | 50 | 123341,123321 |
| Emily | 25 | 321321,123321 |
| Wick | 35 | 123341,654789 |
| Raj | 40 | 987789,123321 |
import csv
import pandas as pd
def transform_lines(csv_path):
reader = csv.reader(open(csv_path))
for line_no, line in enumerate(reader):
if line_no == 0:
yield ["Name", "Age", "Latitude", "Longitude"]
else:
name, age, location = line
lat, lng = location.split(",")
yield [name, int(age), float(lat), float(lng)]
lines = transform_lines("./data.csv")
df = pd.DataFrame(lines)
print(df.head())
This is specially useful in large datasets where loading large amount of data in text form is memory consuming.
- Lingua principale
- Jupyter Notebook
- Stelle
- 176
- Fork
- 316
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di datacarpentry/python-ecology-lesson
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Reducing "read in" jargonAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
-
Error in solution to "Challenge - Plots"Forse già presa @archaeolauren l’ha presa 192 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Recommend a supported Python release, not just any 3.xForse già presa @nbdani l’ha presa 194 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
-
Lowercase "p" in "pandas"Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
Tutte le issue di datacarpentry/python-ecology-lesson
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
osmlab/name-suggestion-index#12992 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
colour-science/colour#1425 ·
-
unavailable - 2nd tier
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
MobilityData/mobility-database-catalogs#1759 ·
I maintainer di solito rispondono entro 2 giorni
-
Bug: Incorrect location coordinates on logged Sound Meter dataForse già presa @Jashan32 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
hazeliscoding/conatlas-tx#33 ·
I maintainer di solito rispondono entro 1 giorno