Python Panda-opetusohjelma: DataFrame, päivämääräalue, Pandan käyttö

Mikä on Pandas Python?

Panda on avoimen lähdekoodin kirjasto, jonka avulla voit käsitellä ja analysoida tietoja Python. Pandat Python kirjasto tarjoaa tietojen käsittelyä ja dataoperaatioita numeerisille taulukoille ja aikasarjoille. Pandat tarjoavat helpon tavan luoda, käsitellä ja kiistellä tietoja. Se on rakennettu NumPyn päälle, mikä tarkoittaa, että se tarvitsee NumPyn toimiakseen.

Miksi käyttää Pandaa?

Tietotieteilijät käyttävät Pandaa vuonna Python seuraavien etujensa vuoksi:

  • Käsittelee helposti puuttuvat tiedot
  • Se käyttää Sarja yksiulotteiseen tietorakenteeseen ja DataFrame moniulotteiseen tietorakenteeseen
  • Se tarjoaa tehokkaan tavan leikata tietoja
  • Se tarjoaa joustavan tavan yhdistää, ketjuttaa tai muokata tietoja
  • Se sisältää tehokkaan aikasarjatyökalun

Lyhyesti sanottuna Pandas on hyödyllinen kirjasto tietojen analysointi. Sitä voidaan käyttää tietojen käsittelyyn ja analysointiin. Pandat tarjoavat tehokkaita ja helppokäyttöisiä tietorakenteita sekä keinoja suorittaa toimintoja nopeasti näillä rakenteilla.

Kuinka Pandat asennetaan?

Nyt tässä Python Panda-opetusohjelma, opimme asentamaan Pandat sisään Python.

Asenna Pandas-kirjasto tutustumalla opetusohjelmaamme Kuinka asentaa TensorFlow. Pandas on asennettu oletusarvoisesti. Etätapauksessa pandaa ei ole asennettu -

Voit asentaa Pandat käyttämällä:

  • Anaconda: conda install -c anaconda pandas
  • In Jupyter Muistikirja :
import sys
!conda install --yes --prefix {sys.prefix} pandas

Mikä on Pandas DataFrame?

Pandas DataFrame on kaksiulotteinen taulukko, jossa on merkitty tietorakenne ja jossa on erilaisia ​​saraketyyppejä. DataFrame on tavallinen tapa tallentaa tietoja taulukkomuodossa, jossa on rivejä tietojen tallentamiseen ja sarakkeita tietojen nimeämiseen. Esimerkiksi hinta voi olla sarakkeen nimi ja 2,3,4 voi olla hinta-arvoja.

Data Frame on tilastotieteilijät ja muut tiedonharjoittajat tunteneet hyvin.

Alla kuva Pandas-tietokehyksestä:

Pandas DataFrame

Mikä on sarja?

Sarja on yksiulotteinen tietorakenne. Sillä voi olla mikä tahansa tietorakenne, kuten kokonaisluku, float ja merkkijono. Se on hyödyllinen, kun haluat suorittaa laskennan tai palauttaa yksiulotteisen taulukon. Sarjalla ei voi määritelmän mukaan olla useita sarakkeita. Käytä jälkimmäisessä tapauksessa tietokehysrakennetta.

Python Pandas-sarjalla on seuraavat parametrit:

  • Data: voi olla luettelo, sanakirja tai skalaariarvo
pd.Series([1., 2., 3.])
0    1.0
1    2.0
2    3.0
dtype: float64

Voit lisätä indeksin indeksillä. Se auttaa rivien nimeämisessä. Pituuden tulee olla yhtä suuri kuin sarakkeen koko

pd.Series([1., 2., 3.], index=['a', 'b', 'c'])

Alla luot Pandas-sarjan, josta puuttuu arvo kolmansilta riveiltä. Huomaa, arvot puuttuvat Python on merkitty "NaN". Voit käyttää numpya puuttuvan arvon luomiseen: np.nan keinotekoisesti

pd.Series([1,2,np.nan])

ulostulo

0    1.0
1    2.0
2    NaN
dtype: float64

Luo Pandas DataFrame

Nyt tässä Pandas DataFrame -opetusohjelmassa opimme luomaan Python Pandas-tietokehys:

Voit muuntaa numpy-taulukon panda-tietokehykseksi komennolla pd.Data frame(). Myös päinvastainen on mahdollista. Voit muuntaa pandan tietokehyksen taulukoksi käyttämällä np.array()

## Numpy to pandas
import numpy as np
h = [[1,2],[3,4]] 
df_h = pd.DataFrame(h)
print('Data Frame:', df_h)

## Pandas to numpy
df_h_n = np.array(df_h)
print('Numpy array:', df_h_n)
Data Frame:    0  1
0  1  2
1  3  4
Numpy array: [[1 2]
 [3 4]]

Voit myös luoda Pandas-tietokehyksen sanakirjan avulla.

dic = {'Name': ["John", "Smith"], 'Age': [30, 40]}
pd.DataFrame(data=dic)
Ikä Nimi
0 30 Johannes
1 40 Seppä

Pandasin aluetiedot

Pandassa on kätevä API päivämääräalueen luomiseen. Opitaan kanssa Python Esimerkkejä pandasta:

pd.data_range(päivämäärä,jakso,frekvenssi):

  • Ensimmäinen parametri on aloituspäivämäärä
  • Toinen parametri on jaksojen lukumäärä (valinnainen, jos lopetuspäivä on määritetty)
  • Viimeinen parametri on taajuus: päivä: "D", kuukausi: "M" ja vuosi: "Y".
## Create date
# Days
dates_d = pd.date_range('20300101', periods=6, freq='D')
print('Day:', dates_d)

ulostulo

Day: DatetimeIndex(['2030-01-01', '2030-01-02', '2030-01-03', '2030-01-04', '2030-01-05', '2030-01-06'], dtype='datetime64[ns]', freq='D')
# Months
dates_m = pd.date_range('20300101', periods=6, freq='M')
print('Month:', dates_m)

ulostulo

Month: DatetimeIndex(['2030-01-31', '2030-02-28', '2030-03-31', '2030-04-30','2030-05-31', '2030-06-30'], dtype='datetime64[ns]', freq='M')

Tarkastetaan tietoja

Voit tarkistaa tietojoukon pään tai hännän komennolla head(), tai tail(), jota edeltää pandan tietokehyksen nimi, kuten alla olevassa Panda-esimerkissä näkyy:

Vaihe 1) Luo satunnainen sekvenssi kanssa numpy. Sarjassa on 4 saraketta ja 6 riviä

random = np.random.randn(6,4)

Vaihe 2) Sitten luot tietokehyksen pandoilla.

Käytä datakehyksen indeksinä päivämäärät_m. Se tarkoittaa, että jokaiselle riville annetaan "nimi" tai indeksi, joka vastaa päivämäärää.

Lopuksi annat nimet 4 sarakkeelle argumenttisarakkeineen

# Create data with date
df = pd.DataFrame(random,
                  index=dates_m,
                  columns=list('ABCD'))

Vaihe 3) Päätoiminnon käyttö

df.head(3)
A B C D
2030-01-31 1.139433 1.318510 -0.181334 1.615822
2030-02-28 -0.081995 -0.063582 0.857751 -0.527374
2030-03-31 -0.519179 0.080984 -1.454334 1.314947

Vaihe 4) Tail-toiminnon käyttö

df.tail(3)
A B C D
2030-04-30 -0.685448 -0.011736 0.622172 0.104993
2030-05-31 -0.935888 -0.731787 -0.558729 0.768774
2030-06-30 1.096981 0.949180 -0.196901 -0.471556

Vaihe 5) Erinomaisena tapana saada tietoa tiedoista on käyttää description(). Se tarjoaa tietojoukon lukumäärät, keskiarvon, std:n, min, maxin ja prosenttipisteen.

df.describe()
A B C D
laskea 6.000000 6.000000 6.000000 6.000000
tarkoittaa 0.002317 0.256928 -0.151896 0.467601
std 0.908145 0.746939 0.834664 0.908910
minuuttia -0.935888 -0.731787 -1.454334 -0.527374
25% -0.643880 -0.050621 -0.468272 -0.327419
50% -0.300587 0.034624 -0.189118 0.436883
75% 0.802237 0.732131 0.421296 1.178404
max 1.139433 1.318510 0.857751 1.615822

Leikkaa tiedot

Tämän viimeinen kohta Python Pandas-opetusohjelmassa kerrotaan, kuinka pandadatakehys leikataan.

Voit käyttää sarakkeen nimeä tietojen poimimiseen tietystä sarakkeesta alla olevan Panda-esimerkin mukaisesti:

## Slice
### Using name
df['A']

2030-01-31   -0.168655
2030-02-28    0.689585
2030-03-31    0.767534
2030-04-30    0.557299
2030-05-31   -1.547836
2030-06-30    0.511551
Freq: M, Name: A, dtype: float64

Jos haluat valita useita sarakkeita, sinun on käytettävä kaksinkertaista hakasulkua [[..,..]]

Ensimmäinen hakasulkupari tarkoittaa, että haluat valita sarakkeita, toinen hakasulkepari kertoo, mitkä sarakkeet haluat palauttaa.

df[['A', 'B']].
A B
2030-01-31 -0.168655 0.587590
2030-02-28 0.689585 0.998266
2030-03-31 0.767534 -0.940617
2030-04-30 0.557299 0.507350
2030-05-31 -1.547836 1.276558
2030-06-30 0.511551 1.572085

Voit leikata rivit:

Alla oleva koodi palauttaa kolme ensimmäistä riviä

### using a slice for row
df[0:3]
A B C D
2030-01-31 -0.168655 0.587590 0.572301 -0.031827
2030-02-28 0.689585 0.998266 1.164690 0.475975
2030-03-31 0.767534 -0.940617 0.227255 -0.341532

loc-toimintoa käytetään sarakkeiden valitsemiseen nimien perusteella. Kuten tavallista, arvot ennen koomaa tarkoittavat rivejä ja sen jälkeen viittaavat sarakkeeseen. Sinun on käytettävä sulkeita valitaksesi useamman kuin yhden sarakkeen.

## Multi col
df.loc[:,['A','B']]
A B
2030-01-31 -0.168655 0.587590
2030-02-28 0.689585 0.998266
2030-03-31 0.767534 -0.940617
2030-04-30 0.557299 0.507350
2030-05-31 -1.547836 1.276558
2030-06-30 0.511551 1.572085

On toinenkin tapa valita useita rivejä ja sarakkeita Pandasissa. Voit käyttää iloc[]. Tämä menetelmä käyttää indeksiä sarakkeiden nimen sijaan. Alla oleva koodi palauttaa saman datakehyksen kuin yllä

df.iloc[:, :2]
A B
2030-01-31 -0.168655 0.587590
2030-02-28 0.689585 0.998266
2030-03-31 0.767534 -0.940617
2030-04-30 0.557299 0.507350
2030-05-31 -1.547836 1.276558
2030-06-30 0.511551 1.572085

Pudota sarake

Voit pudottaa sarakkeita käyttämällä pd.drop()

df.drop(columns=['A', 'C'])
B D
2030-01-31 0.587590 -0.031827
2030-02-28 0.998266 0.475975
2030-03-31 -0.940617 -0.341532
2030-04-30 0.507350 -0.296035
2030-05-31 1.276558 0.523017
2030-06-30 1.572085 -0.594772

ketju

Voit yhdistää kaksi DataFrame-kehystä Pandasissa. Voit käyttää pd.concat()

Ensinnäkin sinun on luotava kaksi DataFrame-kehystä. Toistaiseksi hyvin, olet jo perehtynyt tietokehysten luomiseen

import numpy as np
df1 = pd.DataFrame({'name': ['John', 'Smith','Paul'],
                     'Age': ['25', '30', '50']},
                    index=[0, 1, 2])
df2 = pd.DataFrame({'name': ['Adam', 'Smith' ],
                     'Age': ['26', '11']},
                    index=[3, 4])  

Lopuksi ketjutat kaksi DataFrame-kehystä

df_concat = pd.concat([df1,df2]) 
df_concat
Ikä nimi
0 25 Johannes
1 30 Seppä
2 50 Paavali
3 26 Aatami
4 11 Seppä

Drop_duplicates

Jos tietojoukko voi sisältää päällekkäisiä tietoja, "drop_duplicates" on helppo sulkea pois päällekkäiset rivit. Voit nähdä, että "df_concat" sisältää kaksoishavainnon, "Smith" esiintyy kahdesti sarakkeessa "name".

df_concat.drop_duplicates('name')
Ikä nimi
0 25 Johannes
1 30 Seppä
2 50 Paavali
3 26 Aatami

Lajittele arvot

Voit lajitella arvon lajitteluarvoilla

df_concat.sort_values('Age')
Ikä nimi
4 11 Seppä
0 25 Johannes
3 26 Aatami
1 30 Seppä
2 50 Paavali

Nimeä uudelleen: indeksin muutos

Voit nimetä uudelleen sarakkeen Pandasissa uudelleennimeämistoiminnolla. Ensimmäinen arvo on nykyisen sarakkeen nimi ja toinen arvo on uuden sarakkeen nimi.

df_concat.rename(columns={"name": "Surname", "Age": "Age_ppl"})
Age_ppl Sukunimi
0 25 Johannes
1 30 Seppä
2 50 Paavali
3 26 Aatami
4 11 Seppä

Yhteenveto

Alla on yhteenveto hyödyllisimmistä menetelmästä datatieteen pandoille

tuo tietoja Lue_csv
luoda sarjoja Sarjat
Luo tietokehys Datakehys
Luo ajanjakso DATE_RANGE
palauta pää pää
paluu häntää pyrstö
Kuvata kuvata
leikkaa nimellä datanimi['sarakkeen nimi']
Leikkaa rivejä käyttäen data_name[0:5]