Þegar þú reynir að skilja stóran DataFrame í Pandas gætirðu þurft að undirstilla hann eftir dálkum og línum. Í þessari kennslu munum við sýna algengustu notkunartilvikin fyrir dálkaskiptingu DataFrame þinnar.
Við byrjum á því að setja upp dæmið okkar DataFrame, sem við gerum með því að keyra eftirfarandi Python kóða í uppáhalds umhverfinu okkar (til einföldunar nota ég Anaconda og Jupyter Lab).
import pandas as pd # import the pandas library
languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
"avg_difficulty_level": [3, 2, 2, 1],
"avg_salary": [120, 100, 120, 80],
"applications": [10,15,14,20]})
# Now let's convert our dict to a DataFrame
languages = pd.DataFrame.from_dict(languages)
Nú skulum við skoða fyrstu línurnar okkar í Dataframe með því að nota head() aðferðina.
languages.head()
Eins og þú sérð er þetta frekar einfalt DataFrame sem við munum nota sem dæmi í þessari færslu:
| |
tungumál |
meðal_erfiðleikastig |
meðallaun |
umsóknir |
| 0 |
Python |
3 |
120 |
10 |
| 1 |
C-Sharp |
2 |
100 |
15 |
| 2 |
Javascript |
2 |
120 |
14 |
| 3 |
PHP |
1 |
80 |
20 |
Að sía einn dálk
Við byrjum á einfaldasta tilvikinu, sem er að undirstilla einn dálk úr gagnasafninu okkar. Með því að keyra eftirfarandi skipun verður til röð hlutur:
Eftir nafni / merki
languages["language"]
Úttakið er röð:
0 Python
1 C-Sharp
2 Javascript
3 PHP
Nafn: tungumál, dtype: hlutur
type(languages["language"])
pandas.kjarna.sería
Eftir vísitölu
Eftirfarandi skipun mun einnig skila röð sem inniheldur fyrsta dálkinn
languages.iloc[:,0]
Velja marga dálka
Að nafni
Þegar listi yfir dálka er liðinn mun Pandas skila DataFrame sem inniheldur hluta af gögnunum.
languages[["language", "applications"]]
| |
tungumál |
umsóknir |
| 0 |
Python |
10 |
| 1 |
C-Sharp |
15 |
| 2 |
Javascript |
14 |
| 3 |
PHP |
20 |
Eftir merki (með loc)
df.loc[:,["language","applications"]]
Niðurstaðan verður svipuð.
Eftir vísitölu
Nú skulum við sækja marga dálka með því að nota vísitöluna:
languages.iloc[: ,[0,3]]
| |
tungumál |
umsóknir |
| 0 |
Python |
10 |
| 1 |
C-Sharp |
15 |
| 2 |
Javascript |
14 |
| 3 |
PHP |
20 |
Eftir ástandi
Í þessu tilviki munum við bara sýna dálkana hvaða nafn passar við tiltekna tjáningu. Við munum nota nokkuð handhæga síuaðferð :
languages.filter(axis = 1, like="avg")
Athugasemdir:
- við getum líka síað eftir ákveðinni reglulegri segð (regex).
- Við getum notað færibreytuna axis=0 til að sía eftir tilteknu línugildi.
Sía tilteknar línur eftir ástandi
Hér er frekar einföld leið til að undirstilla DataFrame í samræmi við línugildi:
languages[(languages["applications"] > 15)]
Við höfum aðeins eina niðurstöðu:
languages[(languages["applications"] > 15)]
| |
tungumál |
meðal_erfiðleikastig |
meðallaun |
umsóknir |
| 3 |
PHP |
1 |
80 |
20 |