Kur përpiqeni të kuptoni një DataFrame të madhe në Panda, mund t'ju duhet ta nënvendosni atë sipas kolonave dhe rreshtave. Në këtë tutorial do të tregojmë rastet më të përhapura të përdorimit të ndarjes së kolonave të DataFrame tuaj.
Ne do të fillojmë duke vendosur shembullin tonë DataFrame, të cilin do ta bëjmë duke ekzekutuar kodin e mëposhtëm Python në mjedisin tonë të preferuar (për thjeshtësi, unë përdor Anaconda dhe 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)
Tani, le të shikojmë në rreshtat e parë të Dataframe duke përdorur metodën head().
languages.head()
Siç mund ta shihni, ky është një DataFrame mjaft i thjeshtë që do ta përdorim si shembull në këtë postim:
| |
gjuhe |
niveli_mes_vështirësisë |
rroga mesatare |
aplikacionet |
| 0 |
Python |
3 |
120 |
10 |
| 1 |
C-Sharp |
2 |
100 |
15 |
| 2 |
Javascript |
2 |
120 |
14 |
| 3 |
PHP |
1 |
80 |
20 |
Filtrimi i një kolone të vetme
Do të fillojmë me rastin më të thjeshtë, që është të vendosim një kolonë nga grupi ynë i të dhënave. Ekzekutimi i komandës së mëposhtme do të krijojë një objekt Serie:
Me emër / emërtim
languages["language"]
Prodhimi është një seri:
0 Python
1 C-Sharp
2 Javascript
3 PHP
Emri: gjuha, dlloji: objekt
type(languages["language"])
pandas.core.series.Series
Sipas indeksit
Komanda e mëposhtme do të kthejë gjithashtu një Seri që përmban kolonën e parë
languages.iloc[:,0]
Përzgjedhja e shumë kolonave
Me emër
Kur kalon një listë kolonash, Pandat do të kthejnë një DataFrame që përmban një pjesë të të dhënave.
languages[["language", "applications"]]
| |
gjuhe |
aplikacionet |
| 0 |
Python |
10 |
| 1 |
C-Sharp |
15 |
| 2 |
Javascript |
14 |
| 3 |
PHP |
20 |
Sipas etiketës (me loc)
df.loc[:,["language","applications"]]
Rezultati do të jetë i ngjashëm.
Sipas indeksit
Tani le të marrim kolona të shumta duke përdorur indeksin:
languages.iloc[: ,[0,3]]
| |
gjuhe |
aplikacionet |
| 0 |
Python |
10 |
| 1 |
C-Sharp |
15 |
| 2 |
Javascript |
14 |
| 3 |
PHP |
20 |
Sipas kushteve
Në këtë rast, ne thjesht do t'u tregojmë kolonave se cili emër përputhet me një shprehje specifike. Ne do të përdorim metodën mjaft të përshtatshme të filtrit :
languages.filter(axis = 1, like="avg")
Shënime:
- ne gjithashtu mund të filtrohemi nga një shprehje e rregullt specifike (regex).
- Mund të aplikojmë parametrin aksi=0 për të filtruar sipas vlerës së rreshtit specifik.
Filtro rreshtat specifike sipas kushteve
Këtu është një mënyrë mjaft e drejtpërdrejtë për të nënvendosur DataFrame sipas një vlere rreshti:
languages[(languages["applications"] > 15)]
Kemi vetëm një rezultat:
languages[(languages["applications"] > 15)]
| |
gjuhe |
niveli_mes_vështirësisë |
rroga mesatare |
aplikacionet |
| 3 |
PHP |
1 |
80 |
20 |