Python yra plačiai naudojamas kaip duomenų analizės kalba, dėl jos patikimų bibliotekų ir duomenų valdymo įrankių. Tarp šių bibliotekų yra „Pandos“, kurios palengvina duomenų tyrinėjimą ir manipuliavimą bei analizę. naudosime Pandos analizuoti duomenų rinkinį, vadinamą Country-data.csv iš Kaggle. Dirbdami su šiais duomenimis, mes taip pat pristatome keletą svarbių Pandos sąvokų.
1. Montavimas
Lengviausias būdas įdiegti pandas yra naudoti pip:
Pythonpip install pandas
arba Atsisiųskite jį iš čia .
2. Duomenų rėmelio kūrimas programoje Pandas
A DataFrame yra į lentelę panaši Pandas duomenų struktūra, kurioje duomenys saugomi eilutėse ir stulpeliuose. DataFrame galima sukurti perduodant kelis python serijos objektus į DataFrame klasė ( pd.DataFrame() ) naudodami pd.Series metodas. Šiame pavyzdyje naudojami du serijos objektai: s1 kaip pirmoji eilutė ir s2 kaip antroji eilė.
1 pavyzdys: DataFrame kūrimas iš serijos:
Pythonimport pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd.Series([1 2]) s2 = pd.Series(['Ashish' 'Sid']) # Creating DataFrame by combining Series as rows dataframe = pd.DataFrame([s1 s2]) # Displaying the DataFrame print(dataframe)
Išvestis:
2 pavyzdys: DataFrame iš sąrašo su tinkintu indeksu ir stulpelių pavadinimais:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Išvestis:
3 pavyzdys: DataFrame iš žodyno:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Išvestis:
3. Duomenų importavimas naudojant Pandas
Pirmas žingsnis – perskaityti duomenis. Mūsų atveju duomenys saugomi kaip CSV (kableliais atskirtų reikšmių) failas, kuriame kiekviena eilutė atskiriama nauja eilute, o kiekvienas stulpelis – kableliu. Norint dirbti su Python duomenimis, reikia perskaityti csv failą į Pandas DataFrame.
Pythonimport pandas as pd # Read Country-data.csv into a DataFrame df = pd.read_csv('Country-data.csv') # Prints the first 5 rows of a DataFrame as default df.head() # Prints no. of rows and columns of a DataFrame df.shape
Išvestis:
(167 10)4. DataFrames indeksavimas naudojant Pandas
Pandos suteikia galingas indeksavimo galimybes. „DataFrames“ galite indeksuoti naudodami abu padėties pagrindu ir etikečių pagrindu metodus.
Padėties indeksavimas (naudojant iloc ):
# prints first 5 rows and every column which replicates df.head() df.iloc[0:5:] # prints entire rows and columns df.iloc[::] # prints from 5th rows and first 5 columns df.iloc[5::5]
Išvestis:
Indeksavimas etiketėmis (naudojant loc ):
Indeksuoti galima su etiketėmis naudojant pandas.DataFrame.loc metodas, leidžiantis indeksuoti naudojant etiketes, o ne pozicijas.
Pavyzdžiai:
Python# prints first five rows including 5th index and every columns of df df.loc[0:5:] # prints from 5th rows onwards and entire columns df.loc[5::]
Išvestis:
Tai, kas išdėstyta aukščiau, nelabai skiriasi nuo df.iloc[0:5:]. Taip yra todėl, kad nors eilučių etiketės gali įgyti bet kokias reikšmes, mūsų eilučių etiketės tiksliai atitinka pozicijas. Tačiau stulpelių etiketės gali palengvinti darbą su duomenimis.
Pavyzdys:
Python# Prints the first 5 rows of Time period # value df.loc[:5'child_mort']
Išvestis:
5. DataFrame Math su pandomis
„Panda“ leidžia lengviau atlikti matematines operacijas su duomenų rėmeliuose saugomais duomenimis. Veiksmai, kuriuos galima atlikti su pandomis, yra vektorizuoti, tai reiškia, kad jie yra greiti ir automatiškai taikomi visiems elementams nenaudojant kilpų.
Pavyzdys – stulpelių matematika:
Python# Adding 5 to every element in column A df['child_mort'] = df['child_mort'] + 5 # Multiplying values in column B by 10 df['exports'] = df['exports'] * 10 df
Išvestis:
Statistinės funkcijos pandose:
registro atmintis
Duomenų rėmelių skaičiavimas gali būti atliktas naudojant pandų statistines funkcijas. Galime naudoti tokias funkcijas kaip:
df.sum()→ reikšmių sumadf.mean()→ vidutinisdf.max()/df.min()→ max ir min vertėsdf.describe()→ greita statistikos santrauka
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Išvestis:
6. Duomenų vizualizacija su Pandas ir Matplotlib
Su pandomis labai paprasta naudotis Matplotlib galinga biblioteka, naudojama pagrindiniams brėžiniams ir diagramoms kurti. Turėdami tik kelias kodo eilutes, galime vizualizuoti savo duomenis ir juos geriau suprasti. Žemiau pateikiami keli paprasti pavyzdžiai, padėsiantys pradėti braižyti naudojant Pandas ir Matplotlib:
Python# Import the library first import matplotlib.pyplot as plt
Histograma
Histograma rodo reikšmių pasiskirstymą stulpelyje.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Išvestis:
Dėžės sklypas
A dėžutės sklypas yra naudinga norint aptikti nuokrypius ir suprasti duomenų sklaidą.
Pythondf = df.head(10) plt.figure(figsize=(20 6)) # Increase width to make x-axis labels clearer df.boxplot(column='imports' by='country') plt.title('Boxplot by Country') plt.suptitle('') # Removes default title plt.xlabel('Country') plt.ylabel('Imports') plt.xticks(rotation=45) # Optional: Rotate x-axis labels for better visibility plt.tight_layout() # Adjust layout to avoid clipping plt.show()
Išvestis:
Sklaidos brėžinys
A sklaidos sklypas parodo ryšį tarp dviejų kintamųjų.
Pythonx = df['health'] y = df['life_expec'] plt.scatter(x y label='Data Points' color='m' marker='*' s=30) plt.xlabel('Health') plt.ylabel('Life Expectancy') plt.title('Scatter Plot of Health vs Life Expectancy') plt.legend() plt.show()
Išvestis:
Susijęs straipsnis:
- Pandos įvadas
- Grafikų braižymas Python
- Darbas su csv failais Python
- Pandas DataFrame
- Įvadas į Matplotlib
- Histograma – apibrėžimų tipų grafikas ir pavyzdžiai
- Dėžės sklypas
- Sklaidos brėžinys