03 Pandas 1

image.png Կոնդ, լուսանկարի հղումը, Հեղինակ՝ Tigran Shishmanyan

Open In Colab (ToDo)

📌 Նկարագիր

📚 Ամբողջական նյութը

Նշում․ Եթե NumPy-ին դեռ չեք ծանոթացել՝ սկզբում դա արեք, նոր եկեք pandas:

PandasNumPy-ի հիմքով գրված ամենատարածված գրադարաններից ա աղյուսակային տվյալների (պարզ ասած՝ որ տողերով, սյուներով տվյալներ ունենք) հետ աշխատելու համար։ Տեսությունը բաժանված ա երկու մասին, էսօրվա դասին անցնում ենք․

  1. թե ինչ բան են Series-ը ու DataFrame
  2. ի՞նչ ա CSV ֆայլը
  3. ոնց ֆիլտրել տվյալները
  4. ոնց խմբավորել
  5. ինչ ա pivot table
  6. ինչ անել բացակայող արժեքների հետ
  7. ինչ են հրաշք parquet ֆայլերը
  8. էլի մանր մունր մի քանի բան

Որպես օրինակ աշխատում ենք Հայաստանի ընտրողների տվյալների հետ՝ մոտ 3 միլիոն տող ու ինֆորմացիա՝ անուն, ազգանուն, հայրանուն, ծննդյան օր, գրանցման հասցե ․․․։

📺 Տեսանյութեր

  1. Տեսություն
  2. 2023-ի տեսություն որը հավանաբար անիմաստ ա նայելը
  3. 2023-ից ընտրողների տվյալների հետ կապված պրոեկտ Streamlit ու տվյալների վիզուալիզացիա օգտագործող
  4. (ձեռի հետ եմ սա ավելացնում) Ընտրողների տվյալների շուրջ Barcamp ելույթ

🏡 Տնային

Վերցնել ցանկացած դատասեթ ու փորփրել։

Կարող եք դատան վերցնել Kaggle-ից։ Կամ եթե հայկական եք ուզում՝ Armstat-ից

📚 Նյութը

  1. Docs
  2. Youtube video
  3. Kaggle mini course

Pandas(Panel data)-ը Python-ի գրադարան է, աղյուսակային(Tabular) տվյալների հետ աշխատելու համար,

Կարող ենք պատկերացնել իրեն ինչպես Excel-ը ուղղակի ավելի ճկուն

Աղյուսակային տվյալ ասելով հասկանում ենք՝

Մոտիվացիոն խնդիր՝ (կպատասխանենք այստեղից որոշ խնդիրների)

  1. Քանի՞ տարեկան է ամենատարեց մարդը (գործողություններ Series-ների հետ)
  2. Ո՞րն է ամենատարածված անունը (value_counts)
  3. Ի՞նչ է ամենատարեց մարդու անունը (filtering)
  4. Քանի յուրօրինակ անուն կա (nunique)
  5. Անվան միջին երկարությունյան փոփոխությունը ըստ տարվա (apply, groupby)
  6. Ամենատարածված անունը ըստ տարվա (groupby, )
  7. Յուրօրինակ անունների քանակը ըստ տարբա (groupby, )
  8. Անվան տարիքը
  9. Ամենաշատը որ օրը ծնունդ կա
  10. Ամենաերկար անունը

Pandas գրադարանը

!pip install pandas

# կամ conda install pandas
Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (2.2.2)
Requirement already satisfied: numpy>=1.22.4 in /usr/local/lib/python3.10/dist-packages (from pandas) (1.26.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2024.2)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas) (2024.2)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)
import pandas as pd

Series

Series-ի ստեղծում

List-ի միջոցով

list_1 = ['a', 'b', 'c']

s = pd.Series(list_1)
print(type(s))
s
<class 'pandas.core.series.Series'>
0    a
1    b
2    c
dtype: object
print(type(s.values))
s.values
<class 'numpy.ndarray'>
array(['a', 'b', 'c'], dtype=object)
indexes = ['առաջին', 'երկրորդ', 'երրորդ']

s = pd.Series(list_1, index=indexes)
print(s)
s
առաջին     a
երկրորդ    b
երրորդ     c
dtype: object
առաջին     a
երկրորդ    b
երրորդ     c
dtype: object

Dictionary-ի միջոցով

d = {'first': 'a',
     'second': 'b',
     'third': 'c'}
s = pd.Series(d)
print(s)
s
first     a
second    b
third     c
dtype: object
first     a
second    b
third     c
dtype: object

գործողություններ Series-ների հետ

s1 = pd.Series([3, 4, 1, 0, 3])

s1
0    3
1    4
2    1
3    0
4    3
dtype: int64
s1 + 3 # կամ հանած
0    6
1    7
2    4
3    3
4    6
dtype: int64
s1 / 4 # կամ բազմապատկած
0    0.75
1    1.00
2    0.25
3    0.00
4    0.75
dtype: float64
s1.sort_values()
3    0
2    1
0    3
4    3
1    4
dtype: int64
s1.apply(lambda x: x * 405 / 1000)
0    1.215
1    1.620
2    0.405
3    0.000
4    1.215
dtype: float64
print(s1.max())
print(s1.min())
print(s1.mean())
print(s1.mode())
4
0
2.2
0    3
dtype: int64
s1.unique()
array([3, 4, 1, 0])
s1.nunique() # number of unique values
4
# .unique(return_count=True)

s1.value_counts()

3    2
4    1
1    1
0    1
Name: count, dtype: int64
help(s1)
kurs = pd.Series([440, 450])
qanak = pd.Series([5, 6])

dram = qanak * kurs
print(dram)
print(dram.sum())
0    2200
1    2700
dtype: int64
4900

Նենց հավես կլիներ էս սաղ մի հատ աղյուսակով լիներ ոչթե տարբեր փոփոխականներում պահեինք

pd.DataFrame({'Փոխարժեք': kurs, 'Քանակ': qanak, 'Ընդհանուր գումար':dram})
Փոխարժեք Քանակ Ընդհանուր գումար
0 440 5 2200
1 450 6 2700

CSV format

CSV-ն դա Comma seperated values-ի հապավումնա՝ ստորակետով բաժանված արժեքներ, օրինակ՝

azganun,anun,haeranun,or_amis_tari,marz,hamaenq,bnakavaer,hasce,taracq,texamas
Վարդանյան,Վարդան,Շաքարի,14/11/1798,ԿՈՏԱՅՔ,ՆՈՐ ՀԱՃՆ,,Չարենցի Փ.31 1,28,28/01
Վարդանյան,Ադիկ,Ժորայի,14/03/1444,ԿՈՏԱՅՔ,ՆՈՐ ՀԱՃՆ,,Սևակի Փ. 311,28,28/01
  Input In [18]
    Վարդանյան,Վարդան,Շաքարի,14/11/1798,ԿՈՏԱՅՔ,ՆՈՐ ՀԱՃՆ,,Չարենցի Փ.31 1,28,28/01
                                                                               
^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

Data Frame

df = pd.read_csv("assets/elections.csv")
C:\Users\hayk_\AppData\Local\Temp\ipykernel_3316\591096373.py:1: DtypeWarning: Columns (6) have mixed types. Specify dtype option on import or set low_memory=False.
  df = pd.read_csv("assets/elections.csv")
# խառնել տվյալները
df['texamas'] = df['texamas'].sample(frac=1).values
df['haeranun'] = df['haeranun'].sample(frac=1).values
df['hasce'] = df['hasce'].sample(frac=1).values
df['hamaenq'] = df['hamaenq'].sample(frac=1).values
df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06

2577173 rows × 10 columns

Գլուխը, պոչը ստանալ

df.head(2)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
df.tail(6)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
2577167 Ասլանյան Տաթեւիկ Ցոլակի 15/09/1982 ԼՈՌԻ ՆՈՐ ԽԱՐԲԵՐԴ NaN Միկրոշրջան 85 24 23 14/34
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06

Հստակ ինդեքսների կամ սյուներ ստանալ

Սյուներ

df['anun'] # նույննա ինչ df.anun բայց այս ձևը նախընտրելի չէ
# df.anun -> df["anun azganun"]; df[column_name] df.column_name
0               Կարեն
1              Կարինե
2          Հարություն
3              Համեստ
4               Շաքար
              ...    
2577168           Ալա
2577169        Կարինե
2577170        Անահիտ
2577171        Նարինե
2577172        Գայանե
Name: anun, Length: 2577173, dtype: object
print(type(df['anun']))
<class 'pandas.core.series.Series'>

Խոստացած հարցերին սկսենք պատասխանել հազիվ

df['anun'].nunique()
22062
df['anun'].value_counts()
anun
Անահիտ       49648
Արմեն        43860
Արթուր       40577
Աննա         37881
Գայանե       37765
             ...  
Լուսեր           1
Սերջոնիկ         1
Գրեդել           1
Ելեզավետա        1
Լուսետտա         1
Name: count, Length: 22062, dtype: int64
df[['anun', 'azganun']]
anun azganun
0 Կարեն Հարությունյան
1 Կարինե Աղաջանյան
2 Հարություն Հարությունյան
3 Համեստ Ալեքսանյան
4 Շաքար Հարությունյան
... ... ...
2577168 Ալա Շահվերդյան
2577169 Կարինե Իսրաելյան
2577170 Անահիտ Գրիգորյան
2577171 Նարինե Սահակյան
2577172 Գայանե Մկրտչյան

2577173 rows × 2 columns

df.head(10)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
5 Լազարյան Հակոբ Նորայրի 25/07/1977 ԿՈՏԱՅՔ ԱԼԱՎԵՐԴԻ NaN Բաղրամյան Փ. 33 28 21/31
6 Վերդյան Շուշանիկ Մամիկոնի 05/10/1951 ԿՈՏԱՅՔ ԲԱՄԲԱԿԱՇԱՏ NaN 10 Փ. 2 Նրբ. 17 28 14/12
7 Գեւորգյան Միլենա Ժիրայրի 04/09/1987 ԿՈՏԱՅՔ ԱՋԱՓՆՅԱԿ NaN Մ. Ավետիսյան Փ. 37Ա 4 28 32/41
8 Մուրադյան Արմենուհի Ենոքի 23/05/1982 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Մուրացանի Փ. 21 28 10/11
9 Մուրադյան Արտակ Վաչագանի 27/05/1973 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Խաչատրյան Փ. 35 28 2/31

Տողեր

df.iloc[0]
azganun           Հարությունյան
anun                      Կարեն
haeranun                Ավետիսի
or_amis_tari         14/11/1997
marz                     ԿՈՏԱՅՔ
hamaenq               ՁՈՐԱԳՅՈՒՂ
bnakavaer                   NaN
hasce           Նորագյուղ   335
taracq                       28
texamas                   14/14
Name: 0, dtype: object
df.iloc[1:7:2]
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
5 Լազարյան Հակոբ Նորայրի 25/07/1977 ԿՈՏԱՅՔ ԱԼԱՎԵՐԴԻ NaN Բաղրամյան Փ. 33 28 21/31
df_ = df.set_index("anun")
print(df_)
                  azganun   haeranun or_amis_tari    marz           hamaenq  \
anun                                                                          
Կարեն       Հարությունյան    Ավետիսի   14/11/1997  ԿՈՏԱՅՔ         ՁՈՐԱԳՅՈՒՂ   
Կարինե          Աղաջանյան  Անդրանիկի   14/08/1964  ԿՈՏԱՅՔ            ԵՂՎԱՐԴ   
Հարություն  Հարությունյան    Ավետիսի   29/10/1986  ԿՈՏԱՅՔ           ԳՅՈՒՄՐԻ   
Համեստ         Ալեքսանյան    Գեւորգի   24/10/1954  ԿՈՏԱՅՔ           ԿԵՆՏՐՈՆ   
Շաքար       Հարությունյան    Հրաչյաի   01/01/1959  ԿՈՏԱՅՔ          Գ.ԱՐԱՐԱՏ   
...                   ...        ...          ...     ...               ...   
Ալա            Շահվերդյան    Ռոբերտի   22/04/1987    ԼՈՌԻ             ՈՒՋԱՆ   
Կարինե          Իսրաելյան    Պարգեւի   13/03/1960    ԼՈՌԻ             ԱՐԵՆԻ   
Անահիտ          Գրիգորյան   Ռուսլանի   12/05/1970    ԼՈՌԻ             ՏԱՇԻՐ   
Նարինե           Սահակյան   Կարապետի   25/09/1978    ԼՈՌԻ  ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ   
Գայանե           Մկրտչյան    Հայկազի   24/04/1966    ԼՈՌԻ           ԱՐԱԲԿԻՐ   

           bnakavaer                      hasce  taracq texamas  
anun                                                             
Կարեն            NaN            Նորագյուղ   335      28   14/14  
Կարինե           NaN         Խ. Աբովյան Փ.   42      28   21/33  
Հարություն       NaN        Չարենցի 1 Նրբ.   20      28   26/33  
Համեստ           NaN           Բակունցի Փ.   30      28   32/29  
Շաքար            NaN        Աբովյան Փ.   36   5      28   20/12  
...              ...                        ...     ...     ...  
Ալա              NaN        Նոր Թաղամաս   1   7      23   22/21  
Կարինե           NaN           Պ. Սեւակի Փ.   4      23   37/18  
Անահիտ           NaN     Դեմիրճյան Փ.   29   29      23   31/14  
Նարինե           NaN        Տնակ   204/036 Տնակ      23   13/15  
Գայանե           NaN  Մոլդովական Փ.   48/2   25      23    1/06  

[2577173 rows x 9 columns]
df_.iloc[0]
azganun           Հարությունյան
haeranun                Ավետիսի
or_amis_tari         14/11/1997
marz                     ԿՈՏԱՅՔ
hamaenq               ՁՈՐԱԳՅՈՒՂ
bnakavaer                   NaN
hasce           Նորագյուղ   335
taracq                       28
texamas                   14/14
Name: Կարեն, dtype: object
df_.loc["Հայկ"]
azganun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
anun
Հայկ Ղազարյան Վիկտորի 28/03/1992 ԿՈՏԱՅՔ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Շահումյան Փ. 63 36 28 17/61
Հայկ Ղազարյան Համազասպի 28/07/1996 ԿՈՏԱՅՔ ԼԱՆՋԱԶԱՏ NaN Խաղաղ Դոնի Փ. 27 52 28 9/40
Հայկ Ղավալբաբունց Վահանի 26/10/1981 ԿՈՏԱՅՔ ԼՈՒՍԱԿՈՒՆՔ NaN Կասյան Փ. 5 12 28 32/05
Հայկ Մաթեւոսյան Գագիկի 22/10/1998 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN 1 Փ. 25 28 8/22
Հայկ Մաթեւոսյան Նիկոլայի 09/08/1949 ԿՈՏԱՅՔ ՇԵՆԳԱՎԻԹ NaN Երեւանյան Խճղ. 163 52 28 2/04
... ... ... ... ... ... ... ... ... ...
Հայկ Բաղդասարյան Վլադիմիրի 01/07/1998 ԼՈՌԻ ԿԱՊԱՆ NaN Մաշտոցի Փ. 15 Փկղ. 2 23 30/42
Հայկ Գագինյան Փայլակի 23/03/1987 ԼՈՌԻ ԱԲՈՎՅԱՆ NaN Կենտրոն 29 25 23 35/21
Հայկ Գրիգորյան Վլադիմիրի 20/12/1972 ԼՈՌԻ ԲԱՂՐԱՄՅԱՆ NaN Մաշտոցի Փ. 78 23 24/50
Հայկ Աֆրիկյան Սարգսի 28/02/1993 ԼՈՌԻ ՔԱՐԱԿԵՐՏ NaN Շիրակի Փ. 2Ա/2 302/1 23 37/05
Հայկ Խամոյան Ալեքսանդրի 02/11/1988 ԼՈՌԻ ՔԱՆԱՔԵՌ-ԶԵՅԹՈՒՆ NaN Սաֆարյան Փ. 18 46 23 6/03

18739 rows × 9 columns

Ըստ սյան և տողի

df.values
array([['Հարությունյան', 'Կարեն', 'Ավետիսի', ..., 'Նորագյուղ   335', 28,
        '14/14'],
       ['Աղաջանյան', 'Կարինե', 'Անդրանիկի', ..., 'Խ. Աբովյան Փ.   42',
        28, '21/33'],
       ['Հարությունյան', 'Հարություն', 'Ավետիսի', ...,
        'Չարենցի 1 Նրբ.   20', 28, '26/33'],
       ...,
       ['Գրիգորյան', 'Անահիտ', 'Ռուսլանի', ..., 'Դեմիրճյան Փ.   29   29',
        23, '31/14'],
       ['Սահակյան', 'Նարինե', 'Կարապետի', ..., 'Տնակ   204/036 Տնակ', 23,
        '13/15'],
       ['Մկրտչյան', 'Գայանե', 'Հայկազի', ...,
        'Մոլդովական Փ.   48/2   25', 23, '1/06']],
      shape=(2577173, 10), dtype=object)
df.iloc[0,2] # df.iloc[0][2]
'Ավետիսի'
df.values[0,2]
'Ավետիսի'
df.iloc[1:3, 2:4]
haeranun or_amis_tari
1 Անդրանիկի 14/08/1964
2 Ավետիսի 29/10/1986
df.loc[:, 'hamaenq']
0                 ՁՈՐԱԳՅՈՒՂ
1                    ԵՂՎԱՐԴ
2                   ԳՅՈՒՄՐԻ
3                   ԿԵՆՏՐՈՆ
4                  Գ.ԱՐԱՐԱՏ
                 ...       
2577168               ՈՒՋԱՆ
2577169               ԱՐԵՆԻ
2577170               ՏԱՇԻՐ
2577171    ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ
2577172             ԱՐԱԲԿԻՐ
Name: hamaenq, Length: 2577173, dtype: object

Տողի / սյան հեռացում

df.drop([1, 2, 3], axis=0)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
5 Լազարյան Հակոբ Նորայրի 25/07/1977 ԿՈՏԱՅՔ ԱԼԱՎԵՐԴԻ NaN Բաղրամյան Փ. 33 28 21/31
6 Վերդյան Շուշանիկ Մամիկոնի 05/10/1951 ԿՈՏԱՅՔ ԲԱՄԲԱԿԱՇԱՏ NaN 10 Փ. 2 Նրբ. 17 28 14/12
7 Գեւորգյան Միլենա Ժիրայրի 04/09/1987 ԿՈՏԱՅՔ ԱՋԱՓՆՅԱԿ NaN Մ. Ավետիսյան Փ. 37Ա 4 28 32/41
... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06

2577170 rows × 10 columns

df.drop(['anun', 'azganun'], axis=1)
haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
2 Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
3 Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
4 Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
... ... ... ... ... ... ... ... ...
2577168 Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21
2577169 Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18
2577170 Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14
2577171 Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15
2577172 Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06

2577173 rows × 8 columns

df.drop(columns=["azganun"])

# st = st.replace()
anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
2 Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
3 Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
4 Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
... ... ... ... ... ... ... ... ... ...
2577168 Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21
2577169 Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18
2577170 Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14
2577171 Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15
2577172 Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06

2577173 rows × 9 columns

բայց կտեսնենք որ դեռ տողը/սյունը ջնջված չէ, քանի որ երբ կիրառեցինք drop ֆունկցիան այն մեզ վերադարձրեց df-ն մեջից հեռացնելով մեր ուզածը բայց հենց df ն չփոխեց,

եթե ուզում ենք փոխենք պետք է անենք՝

df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Գեւորգի 14/11/1997 ԿՈՏԱՅՔ ՆՈՐ ՆՈՐՔ NaN Արցախի 4 Նրբ. 10 418 28 13/25
1 Աղաջանյան Կարինե Մխիթարի 14/08/1964 ԿՈՏԱՅՔ ՎԱՆԱՁՈՐ NaN Նանսենի Փ. 19 92 28 3/06
2 Հարությունյան Հարություն Սենիկի 29/10/1986 ԿՈՏԱՅՔ ԳԱՆՁԱՔԱՐ NaN Աբովյան Փ. 5 28 28/27
3 Ալեքսանյան Համեստ Իվանովնա 24/10/1954 ԿՈՏԱՅՔ ՎԱՆԱՁՈՐ NaN Կոմիտասի Պ. 55 15Ա 28 11/34
4 Հարությունյան Շաքար Ռաֆայելի 01/01/1959 ԿՈՏԱՅՔ ԳՈՐԻՍ NaN Բաղյան Փ. 1 40 28 37/01
... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Շալիկոյի 22/04/1987 ԼՈՌԻ ՍԵՎԱՆ NaN 6 Փ. 2 23 6/15
2577169 Իսրաելյան Կարինե Պողոսի 13/03/1960 ԼՈՌԻ ԳԵՏԱՄԵՋ NaN Սարիթաղ 2 Փ. 24 23 8/58
2577170 Գրիգորյան Անահիտ Վլադիմիրի 12/05/1970 ԼՈՌԻ ՋՐԱՌԱՏ NaN 12 Փ. 1 Նրբ. 8 23 9/35
2577171 Սահակյան Նարինե Մանուկի 25/09/1978 ԼՈՌԻ ԼՃԱՎԱՆ NaN 3 Փ. 1 Անցղ. 1/1 23 7/16
2577172 Մկրտչյան Գայանե Սադայի 24/04/1966 ԼՈՌԻ ՏԱՇԻՐ NaN 2 Փ. 15 23 1/15

2577173 rows × 10 columns

help(df.drop)
# df = df.drop('anun', axis=1)

# կամ

df.drop('anun', axis=1, inplace=True)
haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հակոբի 14/11/1997 ԿՈՏԱՅՔ ՉԱՐԵՆՑԱՎԱՆ NaN Ղանդիլյան Փ. 77Ա 1 28 18/39
1 Արտաշեսի 14/08/1964 ԿՈՏԱՅՔ ՇԵՆԳԱՎԻԹ NaN Ղուկասյան Փ. 7 28 38/41
2 Անուշավանի 29/10/1986 ԿՈՏԱՅՔ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN 5 Փ. 2 Նրբ. 5 28 11/03
3 Ցոլակի 24/10/1954 ԿՈՏԱՅՔ ՇԵՆԳԱՎԻԹ NaN 12 Փ. 19 28 12/43
4 Արտուշի 01/01/1959 ԿՈՏԱՅՔ ԳԵՏԱՇԵՆ NaN Թումանյան Փ. 2 5 28 24/48
... ... ... ... ... ... ... ... ...
2577168 Խաչատուրի 22/04/1987 ԼՈՌԻ ՆՈՐՔ-ՄԱՐԱՇ NaN Նոր Խարբերդ Ա/գ 17 Փ. 101/13 23 8/27
2577169 Վոլոդյայի 13/03/1960 ԼՈՌԻ ՍՏԵՓԱՆԱՎԱՆ NaN 1ա Թղմ. 2 24 23 3/15
2577170 Արարատի 12/05/1970 ԼՈՌԻ ՀՐԱԶԴԱՆ NaN Կիրովի Փ. 53 23 34/23
2577171 Արտակի 25/09/1978 ԼՈՌԻ ՏԱԹԵՎ NaN 2 Փ. 27 23 4/03
2577172 Վահանի 24/04/1966 ԼՈՌԻ ԱՐՄԱՎԻՐ NaN Նուբարաշեն 11 Փ. 12 1 23 23/57

2577173 rows × 8 columns

նոր սյան ստեղծում

mini_df = df.head()[['azganun', 'anun']]
mini_df
azganun anun
0 Հարությունյան Կարեն
1 Աղաջանյան Կարինե
2 Հարությունյան Հարություն
3 Ալեքսանյան Համեստ
4 Հարությունյան Շաքար
mini_df['sirac tiv'] = [1,2,3,4,5]
mini_df
azganun anun sirac tiv anun azganun
0 Հարությունյան Կարեն 1 Կարեն Հարությունյան
1 Աղաջանյան Կարինե 2 Կարինե Աղաջանյան
2 Հարությունյան Հարություն 3 Հարություն Հարությունյան
3 Ալեքսանյան Համեստ 4 Համեստ Ալեքսանյան
4 Հարությունյան Շաքար <NA> Շաքար Հարությունյան
mini_df['anun azganun'] = mini_df['anun'] + " " + mini_df['azganun']
mini_df
azganun anun sirac tiv anun azganun
0 Հարությունյան Կարեն 1 Կարեն Հարությունյան
1 Աղաջանյան Կարինե 2 Կարինե Աղաջանյան
2 Հարությունյան Հարություն 3 Հարություն Հարությունյան
3 Ալեքսանյան Համեստ 4 Համեստ Ալեքսանյան
4 Հարությունյան Շաքար 5 Շաքար Հարությունյան

Նոր տողի ավելացում

mini_df
azganun anun sirac tiv anun azganun
0 Հարությունյան Կարեն 1 Կարեն Հարությունյան
1 Աղաջանյան Կարինե 2 Կարինե Աղաջանյան
2 Հարությունյան Հարություն 3 Հարություն Հարությունյան
3 Ալեքսանյան Համեստ 4 Համեստ Ալեքսանյան
4 Հարությունյան Շաքար 5 Շաքար Հարությունյան
mini_df.loc[5] = ['Անուն', "Ազգանունյան", 509, 'Անուն Ազգանունյան']
mini_df
azganun anun sirac tiv anun azganun
0 Հարությունյան Կարեն 1 Կարեն Հարությունյան
1 Աղաջանյան Կարինե 2 Կարինե Աղաջանյան
2 Հարությունյան Հարություն 3 Հարություն Հարությունյան
3 Ալեքսանյան Համեստ 4 Համեստ Ալեքսանյան
4 Հարությունյան Շաքար <NA> Շաքար Հարությունյան
5 Անուն Ազգանունյան 509 Անուն Ազգանունյան

Ընդհանուր data frame-ի նկարագիրը ստանալ

df.shape
(2577173, 10)
df.index
RangeIndex(start=0, stop=2577173, step=1)
df.columns
Index(['azganun', 'anun', 'haeranun', 'or_amis_tari', 'marz', 'hamaenq',
       'bnakavaer', 'hasce', 'taracq', 'texamas'],
      dtype='object')
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2577173 entries, 0 to 2577172
Data columns (total 10 columns):
 #   Column        Dtype 
---  ------        ----- 
 0   azganun       object
 1   anun          object
 2   haeranun      object
 3   or_amis_tari  object
 4   marz          object
 5   hamaenq       object
 6   bnakavaer     object
 7   hasce         object
 8   taracq        int64 
 9   texamas       object
dtypes: int64(1), object(9)
memory usage: 196.6+ MB
df.describe()
taracq
count 2.577173e+06
mean 1.775785e+01
std 1.072279e+01
min 1.000000e+00
25% 8.000000e+00
50% 1.600000e+01
75% 2.700000e+01
max 3.800000e+01

Տվյալների ֆիլտրում

Մի պայման

mini_df = df.head(5)
mini_df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
mini_df['azganun'] == 'Հարությունյան'

# a >= 4
# a[[True, False, True]]
0     True
1    False
2     True
3    False
4     True
Name: azganun, dtype: bool
mini_df[mini_df['azganun'] == 'Հարությունյան']
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12

մի քանի պայման

(mini_df['azganun'] == 'Հարությունյան') & (mini_df['anun'] == 'Կարեն')
0     True
1    False
2    False
3    False
4    False
dtype: bool
condition = (mini_df['azganun'] == 'Հարությունյան') & (mini_df['anun'] == 'Կարեն') 
mini_df[condition]
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
mini_df[(mini_df['azganun'] == 'Հարությունյան') | (mini_df['anun'] == 'Կարեն') ]
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Սուրենի 14/11/1997 ԿՈՏԱՅՔ ԱՐԱՄՈՒՍ NaN Պետրոզավոդսկ Փ. 29 28 6/34
2 Հարությունյան Հարություն Գեւորգի 29/10/1986 ԿՈՏԱՅՔ ՆՈՐ ՆՈՐՔ NaN 5 Փ. 4 Փկղ. 6 28 38/52
4 Հարությունյան Շաքար Ռուբիկի 01/01/1959 ԿՈՏԱՅՔ ԳՅՈՒԼԱԳԱՐԱԿ NaN NaN 28 21/25

Օրինակ

Քանի տարեկան է իքս անունով ամենածեր մարդը

df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12
... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06

2577173 rows × 10 columns

df['tari'] = df['or_amis_tari'].apply(lambda x: int(x[-4:]))
df['tari']
0          1997
1          1964
2          1986
3          1954
4          1959
           ... 
2577168    1987
2577169    1960
2577170    1970
2577171    1978
2577172    1966
Name: tari, Length: 2577173, dtype: int64

df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14 1997
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33 1964
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33 1986
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29 1954
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12 1959
... ... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21 1987
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18 1960
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14 1970
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15 1978
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06 1966

2577173 rows × 11 columns

df['tariq'] = 2025 - df['tari']
df[df['anun'] == 'Հայկ']['tariq'].max()
np.int64(104)
df[df['anun'] == 'Մկրտիչ']['tariq'].max()
np.int64(101)

Ով է ամենատարեց մարդը

Քանի 48 տարեկան Մկրտիչ կա

len(df[(df['tariq']==48) & (df['anun']=='Մկրտիչ')])
69
df[(df['tariq']==48) & (df['anun']=='Մկրտիչ')].shape
(69, 12)
df['or_amis_tari'].value_counts()
or_amis_tari
00/00/1936    1151
00/00/1937    1103
00/00/1938    1084
00/00/1935    1019
00/00/1939     984
              ... 
28/08/1925       1
30/04/1926       1
12/10/1920       1
28/08/1921       1
11/01/1923       1
Name: count, Length: 28659, dtype: int64

Խմբավորում (groupby)

grouped = df.groupby('marz')
grouped
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000018211956BF0>
for name, group in grouped:
    print (name)
    print (group.head(2)[["anun", "marz"]])
    print('\n')
    # break
ԱՐԱԳԱԾՈՏՆ
             anun       marz
187827       Վահե  ԱՐԱԳԱԾՈՏՆ
188482  Արմենուհի  ԱՐԱԳԱԾՈՏՆ


ԱՐԱՐԱՏ
          anun    marz
91503   Սուրեն  ԱՐԱՐԱՏ
187897   Ռոման  ԱՐԱՐԱՏ


ԱՐՄԱՎԻՐ
           anun     marz
91489   Գեննադի  ԱՐՄԱՎԻՐ
188096   Սամվել  ԱՐՄԱՎԻՐ


ԳԵՂԱՐՔՈՒՆԻՔ
         anun         marz
187876  Արսեն  ԳԵՂԱՐՔՈՒՆԻՔ
187965  Գագիկ  ԳԵՂԱՐՔՈՒՆԻՔ


ԵՐԵՎԱՆ
         anun    marz
45892  Հասմիկ  ԵՐԵՎԱՆ
45988   Արսեն  ԵՐԵՎԱՆ


ԼՈՌԻ
          anun  marz
46069   Նարինե  ԼՈՌԻ
46070  Վարդգես  ԼՈՌԻ


ԿՈՏԱՅՔ
     anun    marz
0   Կարեն  ԿՈՏԱՅՔ
1  Կարինե  ԿՈՏԱՅՔ


ՇԻՐԱԿ
           anun   marz
45828    Հասմիկ  ՇԻՐԱԿ
45986  Վարազդատ  ՇԻՐԱԿ


ՍՅՈՒՆԻՔ
           anun     marz
187855    Լիլիթ  ՍՅՈՒՆԻՔ
187856  Լուսինե  ՍՅՈՒՆԻՔ


ՎԱՅՈՑ ՁՈՐ
          anun       marz
254580   Աշխեն  ՎԱՅՈՑ ՁՈՐ
321882  Սեդրակ  ՎԱՅՈՑ ՁՈՐ


ՏԱՎՈՒՇ
          anun    marz
45789   Արթուր  ՏԱՎՈՒՇ
45846  Արծրուն  ՏԱՎՈՒՇ

for m in df["marz"].unique():
    df[df["marz"] == m]]
df.groupby('anun').tariq.mean().sort_values()
anun
Ռուտ         22.0
Մարիելլա     22.0
Արշի         22.0
Նորիս        22.0
Ախլաթ        22.0
            ...  
Ուղդա       105.0
Հեղինո      105.0
Հադիա       106.0
Խորիլ       108.0
Վարսի       110.0
Name: tariq, Length: 22062, dtype: float64
df.groupby('marz').tariq.mean().sort_values()
marz
ԳԵՂԱՐՔՈՒՆԻՔ    49.580834
ԱՐԱԳԱԾՈՏՆ      49.887357
ԱՐՄԱՎԻՐ        50.049935
ԱՐԱՐԱՏ         50.090748
ԿՈՏԱՅՔ         50.450066
ՇԻՐԱԿ          50.511475
ՎԱՅՈՑ ՁՈՐ      50.666959
ՍՅՈՒՆԻՔ        50.862374
ՏԱՎՈՒՇ         51.104743
ԼՈՌԻ           51.270479
ԵՐԵՎԱՆ         52.036340
Name: tariq, dtype: float64
df['anvan_erkarutun'] = df['anun'].apply(lambda x: len(x))
df['anvan_erkarutun'] = df['anun'].apply(len)

df
# results = df.groupby('tari')['anvan_erkarutun'].mean()
# results
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14 1997 28 5
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33 1964 61 6
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ NaN Չարենցի 1 Նրբ. 20 28 26/33 1986 39 10
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ NaN Բակունցի Փ. 30 28 32/29 1954 71 6
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ NaN Աբովյան Փ. 36 5 28 20/12 1959 66 5
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ NaN Նոր Թաղամաս 1 7 23 22/21 1987 38 3
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ NaN Պ. Սեւակի Փ. 4 23 37/18 1960 65 6
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ NaN Դեմիրճյան Փ. 29 29 23 31/14 1970 55 6
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ NaN Տնակ 204/036 Տնակ 23 13/15 1978 47 6
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ NaN Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

2577173 rows × 13 columns

results = df.groupby('tari')['anvan_erkarutun'].mean().sort_index()
results
tari
1907    8.000000
1908    4.000000
1911    7.000000
1912    6.666667
1913    6.000000
          ...   
1999    5.623622
2000    5.598365
2001    5.602270
2002    5.566442
2003    5.542347
Name: anvan_erkarutun, Length: 95, dtype: float64
df.groupby('tari')['anvan_erkarutun'].describe()
count mean std min 25% 50% 75% max
tari
1907 1.0 8.000000 NaN 8.0 8.0 8.0 8.0 8.0
1908 1.0 4.000000 NaN 4.0 4.0 4.0 4.0 4.0
1911 1.0 7.000000 NaN 7.0 7.0 7.0 7.0 7.0
1912 3.0 6.666667 1.154701 6.0 6.0 6.0 7.0 8.0
1913 3.0 6.000000 1.000000 5.0 5.5 6.0 6.5 7.0
... ... ... ... ... ... ... ... ...
1999 33748.0 5.623622 1.380059 3.0 5.0 6.0 6.0 15.0
2000 32654.0 5.598365 1.409849 3.0 5.0 6.0 6.0 17.0
2001 24137.0 5.602270 1.442952 2.0 5.0 6.0 6.0 20.0
2002 25985.0 5.566442 1.431464 3.0 5.0 6.0 6.0 19.0
2003 15444.0 5.542347 1.386919 3.0 5.0 5.0 6.0 18.0

95 rows × 8 columns

results.plot()

df_after_1920 = df[df.tari > 1920]
results = df_after_1920.groupby('tari')['anvan_erkarutun'].mean()
results.plot()

df.groupby(['marz', 'anun']).tariq.max()
marz       anun    
ԱՐԱԳԱԾՈՏՆ  0լգա        86
           Աարոն       40
           Աբաս        79
           Աբգար       97
           Աբել        65
                       ..
ՏԱՎՈՒՇ     Ֆրիմա       85
           Ֆրոնտիկ     84
           Ֆրունզե     85
           Ֆրունզիկ    93
           Ֆրուսյա     86
Name: tariq, Length: 55966, dtype: int64
marzer = df["marz"].unique()
# groupby('marzer')
for m in marzer:
    menak_marz = df[df["marz"] == m]
    anunner = menak_marz["anun"].unique()
    
    for anun in anunner:
        print(f"Marz: {m}, Anun: {anun}")
        print(menak_marz[menak_marz["anun"] == anun].tariq.max())
    # print(df[df["marz"] == m].tariq.max())
    print('\n')
    # break
    
df.head()
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Սուրենի 14/11/1997 ԿՈՏԱՅՔ ԱՐԱՄՈՒՍ NaN Պետրոզավոդսկ Փ. 29 28 6/34 1997 28 5
1 Աղաջանյան Կարինե Բորիսի 14/08/1964 ԿՈՏԱՅՔ ԴԱՎԹԱՇԵՆ NaN Գուգարքի Փ. 9 28 9/56 1964 61 6
2 Հարությունյան Հարություն Գեւորգի 29/10/1986 ԿՈՏԱՅՔ ՆՈՐ ՆՈՐՔ NaN 5 Փ. 4 Փկղ. 6 28 38/52 1986 39 10
3 Ալեքսանյան Համեստ Ռաֆիկի 24/10/1954 ԿՈՏԱՅՔ ՄՅԱՍՆԻԿՅԱՆ NaN Նաիրի Փ. 58 28 7/53 1954 71 6
4 Հարությունյան Շաքար Ռուբիկի 01/01/1959 ԿՈՏԱՅՔ ԳՅՈՒԼԱԳԱՐԱԿ NaN NaN 28 21/25 1959 66 5

Pivot table

help(df.pivot_table)
Help on method pivot_table in module pandas.core.frame:

pivot_table(values=None, index=None, columns=None, aggfunc: 'AggFuncType' = 'mean', fill_value=None, margins: 'bool' = False, dropna: 'bool' = True, margins_name: 'Level' = 'All', observed: 'bool | lib.NoDefault' = <no_default>, sort: 'bool' = True) -> 'DataFrame' method of pandas.core.frame.DataFrame instance
    Create a spreadsheet-style pivot table as a DataFrame.
    
    The levels in the pivot table will be stored in MultiIndex objects
    (hierarchical indexes) on the index and columns of the result DataFrame.
    
    Parameters
    ----------
    values : list-like or scalar, optional
        Column or columns to aggregate.
    index : column, Grouper, array, or list of the previous
        Keys to group by on the pivot table index. If a list is passed,
        it can contain any of the other types (except list). If an array is
        passed, it must be the same length as the data and will be used in
        the same manner as column values.
    columns : column, Grouper, array, or list of the previous
        Keys to group by on the pivot table column. If a list is passed,
        it can contain any of the other types (except list). If an array is
        passed, it must be the same length as the data and will be used in
        the same manner as column values.
    aggfunc : function, list of functions, dict, default "mean"
        If a list of functions is passed, the resulting pivot table will have
        hierarchical columns whose top level are the function names
        (inferred from the function objects themselves).
        If a dict is passed, the key is column to aggregate and the value is
        function or list of functions. If ``margin=True``, aggfunc will be
        used to calculate the partial aggregates.
    fill_value : scalar, default None
        Value to replace missing values with (in the resulting pivot table,
        after aggregation).
    margins : bool, default False
        If ``margins=True``, special ``All`` columns and rows
        will be added with partial group aggregates across the categories
        on the rows and columns.
    dropna : bool, default True
        Do not include columns whose entries are all NaN. If True,
        rows with a NaN value in any column will be omitted before
        computing margins.
    margins_name : str, default 'All'
        Name of the row / column that will contain the totals
        when margins is True.
    observed : bool, default False
        This only applies if any of the groupers are Categoricals.
        If True: only show observed values for categorical groupers.
        If False: show all values for categorical groupers.
    
        .. deprecated:: 2.2.0
    
            The default value of ``False`` is deprecated and will change to
            ``True`` in a future version of pandas.
    
    sort : bool, default True
        Specifies if the result should be sorted.
    
        .. versionadded:: 1.3.0
    
    Returns
    -------
    DataFrame
        An Excel style pivot table.
    
    See Also
    --------
    DataFrame.pivot : Pivot without aggregation that can handle
        non-numeric data.
    DataFrame.melt: Unpivot a DataFrame from wide to long format,
        optionally leaving identifiers set.
    wide_to_long : Wide panel to long format. Less flexible but more
        user-friendly than melt.
    
    Notes
    -----
    Reference :ref:`the user guide <reshaping.pivot>` for more examples.
    
    Examples
    --------
    >>> df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo",
    ...                          "bar", "bar", "bar", "bar"],
    ...                    "B": ["one", "one", "one", "two", "two",
    ...                          "one", "one", "two", "two"],
    ...                    "C": ["small", "large", "large", "small",
    ...                          "small", "large", "small", "small",
    ...                          "large"],
    ...                    "D": [1, 2, 2, 3, 3, 4, 5, 6, 7],
    ...                    "E": [2, 4, 5, 5, 6, 6, 8, 9, 9]})
    >>> df
         A    B      C  D  E
    0  foo  one  small  1  2
    1  foo  one  large  2  4
    2  foo  one  large  2  5
    3  foo  two  small  3  5
    4  foo  two  small  3  6
    5  bar  one  large  4  6
    6  bar  one  small  5  8
    7  bar  two  small  6  9
    8  bar  two  large  7  9
    
    This first example aggregates values by taking the sum.
    
    >>> table = pd.pivot_table(df, values='D', index=['A', 'B'],
    ...                        columns=['C'], aggfunc="sum")
    >>> table
    C        large  small
    A   B
    bar one    4.0    5.0
        two    7.0    6.0
    foo one    4.0    1.0
        two    NaN    6.0
    
    We can also fill missing values using the `fill_value` parameter.
    
    >>> table = pd.pivot_table(df, values='D', index=['A', 'B'],
    ...                        columns=['C'], aggfunc="sum", fill_value=0)
    >>> table
    C        large  small
    A   B
    bar one      4      5
        two      7      6
    foo one      4      1
        two      0      6
    
    The next example aggregates by taking the mean across multiple columns.
    
    >>> table = pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'],
    ...                        aggfunc={'D': "mean", 'E': "mean"})
    >>> table
                    D         E
    A   C
    bar large  5.500000  7.500000
        small  5.500000  8.500000
    foo large  2.000000  4.500000
        small  2.333333  4.333333
    
    We can also calculate multiple types of aggregations for any given
    value column.
    
    >>> table = pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'],
    ...                        aggfunc={'D': "mean",
    ...                                 'E': ["min", "max", "mean"]})
    >>> table
                      D   E
                   mean max      mean  min
    A   C
    bar large  5.500000   9  7.500000    6
        small  5.500000   9  8.500000    8
    foo large  2.000000   5  4.500000    4
        small  2.333333   6  4.333333    2
old_df = df.copy()
names = ['Հայկ', "Մկրտիչ"]
df = df[df.anun.isin(names)]
df.anun.nunique()
2

ըստ մարզի անվան միջին տարիքը

        anun_1, anun_2, anun_3
marz_1  average(tariq_1)
marz_2 
pivot_table = df.pivot_table(index='marz', columns='anun', values='tariq')#, aggfunc='mean')
print(pivot_table)
anun              Հայկ     Մկրտիչ
marz                             
ԱՐԱԳԱԾՈՏՆ    43.060936  51.654676
ԱՐԱՐԱՏ       42.310781  51.982301
ԱՐՄԱՎԻՐ      43.148124  53.958042
ԳԵՂԱՐՔՈՒՆԻՔ  45.828068  48.598291
ԵՐԵՎԱՆ       42.606372  55.487575
ԼՈՌԻ         43.354926  52.713147
ԿՈՏԱՅՔ       41.730730  52.748344
ՇԻՐԱԿ        42.736246  51.349189
ՍՅՈՒՆԻՔ      37.904948  51.603774
ՎԱՅՈՑ ՁՈՐ    43.296399  54.944444
ՏԱՎՈՒՇ       41.586510  50.676471

ըստ մարզի անունը ունեղոց ամենածեր մարդու տարիքը

pivot_table = df.pivot_table(index='marz', columns='anun', values='tariq', aggfunc="max")
pivot_table
anun Հայկ Մկրտիչ
marz
ԱՐԱԳԱԾՈՏՆ 93 101
ԱՐԱՐԱՏ 93 99
ԱՐՄԱՎԻՐ 97 98
ԳԵՂԱՐՔՈՒՆԻՔ 99 85
ԵՐԵՎԱՆ 97 101
ԼՈՌԻ 104 96
ԿՈՏԱՅՔ 93 93
ՇԻՐԱԿ 94 98
ՍՅՈՒՆԻՔ 97 79
ՎԱՅՈՑ ՁՈՐ 78 90
ՏԱՎՈՒՇ 90 85

Նույնը բոլոր անունների համար

pivot_table = old_df.pivot_table(index='marz', columns='anun', values='tariq', aggfunc='max')
pivot_table
anun 0լգա Աարոն Աբալ Աբայկա Աբաս Աբավեն Աբաքինա Աբբաս Աբգար Աբդալ ... Ֆրուժետա Ֆրուլենտ Ֆրունզ Ֆրունզե Ֆրունզիկ Ֆրունզյա Ֆրուսիա Ֆրուսյա Ֆրրիկ Ֆօֆօ
marz
ԱՐԱԳԱԾՈՏՆ 86.0 40.0 NaN NaN 79.0 NaN NaN NaN 97.0 NaN ... 85.0 NaN 31.0 84.0 88.0 NaN NaN NaN NaN NaN
ԱՐԱՐԱՏ NaN NaN NaN NaN 64.0 NaN NaN 72.0 76.0 NaN ... 89.0 NaN 83.0 94.0 86.0 NaN NaN NaN NaN NaN
ԱՐՄԱՎԻՐ NaN NaN NaN NaN 78.0 NaN NaN NaN 87.0 NaN ... 31.0 NaN 72.0 90.0 91.0 NaN 90.0 47.0 NaN NaN
ԳԵՂԱՐՔՈՒՆԻՔ NaN NaN NaN NaN NaN NaN NaN NaN 95.0 NaN ... NaN 78.0 88.0 94.0 94.0 NaN NaN NaN 66.0 NaN
ԵՐԵՎԱՆ NaN 56.0 NaN NaN NaN NaN 83.0 NaN 77.0 91.0 ... 78.0 NaN 73.0 92.0 92.0 79.0 NaN NaN NaN 90.0
ԼՈՌԻ NaN NaN NaN NaN 52.0 NaN NaN NaN 86.0 NaN ... NaN NaN 46.0 90.0 93.0 NaN NaN NaN NaN NaN
ԿՈՏԱՅՔ NaN 61.0 NaN NaN 68.0 NaN NaN 83.0 78.0 NaN ... NaN NaN 82.0 89.0 87.0 90.0 NaN NaN 60.0 NaN
ՇԻՐԱԿ NaN 57.0 NaN NaN 26.0 NaN NaN NaN 75.0 NaN ... 90.0 NaN 24.0 96.0 90.0 NaN NaN NaN NaN NaN
ՍՅՈՒՆԻՔ NaN NaN 70.0 NaN NaN 90.0 NaN NaN 90.0 NaN ... NaN NaN 89.0 92.0 77.0 NaN NaN NaN NaN NaN
ՎԱՅՈՑ ՁՈՐ NaN NaN NaN NaN NaN NaN NaN NaN 68.0 NaN ... NaN NaN 74.0 89.0 97.0 NaN NaN NaN NaN NaN
ՏԱՎՈՒՇ NaN NaN NaN 92.0 NaN NaN NaN NaN 74.0 NaN ... NaN NaN NaN 85.0 93.0 NaN NaN 86.0 NaN NaN

11 rows × 22061 columns

Դատարկ արժեքները լրացննեք

pivot_table = old_df.pivot_table(index='marz', columns='anun', values='tariq',
                                 aggfunc='max', fill_value="չկա")
pivot_table
C:\Users\hayk_\AppData\Local\Temp\ipykernel_3316\2839398563.py:1: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  pivot_table = old_df.pivot_table(index='marz', columns='anun', values='tariq',
anun 0լգա Աարոն Աբալ Աբայկա Աբաս Աբավեն Աբաքինա Աբբաս Աբգար Աբդալ ... Ֆրուժետա Ֆրուլենտ Ֆրունզ Ֆրունզե Ֆրունզիկ Ֆրունզյա Ֆրուսիա Ֆրուսյա Ֆրրիկ Ֆօֆօ
marz
ԱՐԱԳԱԾՈՏՆ 86 40 չկա չկա 79 չկա չկա չկա 97 չկա ... 85 չկա 31 84 88 չկա չկա չկա չկա չկա
ԱՐԱՐԱՏ չկա չկա չկա չկա 64 չկա չկա 72 76 չկա ... 89 չկա 83 94 86 չկա չկա չկա չկա չկա
ԱՐՄԱՎԻՐ չկա չկա չկա չկա 78 չկա չկա չկա 87 չկա ... 31 չկա 72 90 91 չկա 90 47 չկա չկա
ԳԵՂԱՐՔՈՒՆԻՔ չկա չկա չկա չկա չկա չկա չկա չկա 95 չկա ... չկա 78 88 94 94 չկա չկա չկա 66 չկա
ԵՐԵՎԱՆ չկա 56 չկա չկա չկա չկա 83 չկա 77 91 ... 78 չկա 73 92 92 79 չկա չկա չկա 90
ԼՈՌԻ չկա չկա չկա չկա 52 չկա չկա չկա 86 չկա ... չկա չկա 46 90 93 չկա չկա չկա չկա չկա
ԿՈՏԱՅՔ չկա 61 չկա չկա 68 չկա չկա 83 78 չկա ... չկա չկա 82 89 87 90 չկա չկա 60 չկա
ՇԻՐԱԿ չկա 57 չկա չկա 26 չկա չկա չկա 75 չկա ... 90 չկա 24 96 90 չկա չկա չկա չկա չկա
ՍՅՈՒՆԻՔ չկա չկա 70 չկա չկա 90 չկա չկա 90 չկա ... չկա չկա 89 92 77 չկա չկա չկա չկա չկա
ՎԱՅՈՑ ՁՈՐ չկա չկա չկա չկա չկա չկա չկա չկա 68 չկա ... չկա չկա 74 89 97 չկա չկա չկա չկա չկա
ՏԱՎՈՒՇ չկա չկա չկա 92 չկա չկա չկա չկա 74 չկա ... չկա չկա չկա 85 93 չկա չկա 86 չկա չկա

11 rows × 22061 columns

Մի քանի ագրեգացիա

import numpy as np
pivot_table = df.pivot_table(index='marz', columns='anun', values='tariq',
                             aggfunc=["max", lambda x: sum(x)/len(x), np.sum])
print(pivot_table)
             max          <lambda>                sum       
anun        Հայկ Մկրտիչ       Հայկ     Մկրտիչ    Հայկ Մկրտիչ
marz                                                        
ԱՐԱԳԱԾՈՏՆ     93    101  43.060936  51.654676   39573  14360
ԱՐԱՐԱՏ        93     99  42.310781  51.982301   56908  11748
ԱՐՄԱՎԻՐ       97     98  43.148124  53.958042   66707  23148
ԳԵՂԱՐՔՈՒՆԻՔ   99     85  45.828068  48.598291   62372  11372
ԵՐԵՎԱՆ        97    101  42.606372  55.487575  302207  64754
ԼՈՌԻ         104     96  43.354926  52.713147   64252  13231
ԿՈՏԱՅՔ        93     93  41.730730  52.748344   81208  15930
ՇԻՐԱԿ         94     98  42.736246  51.349189   52822  47498
ՍՅՈՒՆԻՔ       97     79  37.904948  51.603774   29111   2735
ՎԱՅՈՑ ՁՈՐ     78     90  43.296399  54.944444   15630   2967
ՏԱՎՈՒՇ        90     85  41.586510  50.676471   28362   1723
C:\Users\hayk_\AppData\Local\Temp\ipykernel_3316\2168209786.py:1: FutureWarning: The provided callable <function sum at 0x000001816BDC1630> is currently using DataFrameGroupBy.sum. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string "sum" instead.
  pivot_table = df.pivot_table(index='marz', columns='anun', values='tariq',

Մի քանի սյուն

pivot_table = df.pivot_table(index='marz', columns=['anun', 'azganun'], values='tariq',
                             aggfunc="max")
pivot_table
anun Հայկ ... Մկրտիչ
azganun Աբազյան Աբաղյան Աբաջյան Աբգարյան Աբելյան Աբեջյան Աբէլեան Աբոյան Աբովյան Աբունց ... Օքրոյան Ֆախուրյան Ֆահրադյան Ֆարիզյան Ֆարմանյան Ֆենդյան Ֆեսչյան Ֆռանգուլյան Ֆրանգուլյան Ֆրիդման-Շչեպակին
marz
ԱՐԱԳԱԾՈՏՆ NaN NaN NaN 48.0 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN 38.0 NaN NaN NaN NaN NaN NaN
ԱՐԱՐԱՏ NaN NaN NaN 67.0 39.0 NaN NaN NaN NaN NaN ... NaN 33.0 56.0 NaN NaN NaN NaN NaN NaN 48.0
ԱՐՄԱՎԻՐ NaN NaN 44.0 55.0 24.0 NaN NaN NaN 41.0 NaN ... NaN NaN 25.0 NaN NaN NaN NaN NaN NaN NaN
ԳԵՂԱՐՔՈՒՆԻՔ NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
ԵՐԵՎԱՆ 51.0 NaN 45.0 47.0 44.0 40.0 64.0 NaN 77.0 NaN ... 79.0 NaN NaN NaN 56.0 59.0 70.0 NaN 72.0 NaN
ԼՈՌԻ 70.0 NaN NaN 63.0 NaN NaN NaN 41.0 48.0 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
ԿՈՏԱՅՔ NaN NaN NaN 43.0 NaN NaN NaN NaN 46.0 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
ՇԻՐԱԿ NaN NaN 32.0 63.0 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN 44.0 NaN NaN
ՍՅՈՒՆԻՔ NaN NaN NaN 72.0 NaN NaN NaN NaN NaN 28.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
ՎԱՅՈՑ ՁՈՐ NaN 34.0 NaN 26.0 58.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
ՏԱՎՈՒՇ 62.0 NaN NaN 35.0 NaN NaN NaN NaN 57.0 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

11 rows × 3287 columns

Մի քանի ինդեքս

pivot_table = df.pivot_table(index=['marz', 'azganun'], values='tariq', aggfunc=lambda x: sum(x) / len(x))
print(pivot_table)
                       tariq
marz      azganun           
ԱՐԱԳԱԾՈՏՆ Աբգարյան    47.500
          Աբրահամյան  38.375
          Ադամյան     52.500
          Ադիբեկյան   48.000
          Ազատյան     51.200
...                      ...
ՏԱՎՈՒՇ    Քոսակյան    43.000
          Օթարյան     28.500
          Օհանյան     39.800
          Օրդինյան    30.500
          Օրդյան      30.000

[5344 rows x 1 columns]

Marginներով

pivot_table = df.pivot_table(index='marz', columns='anun', values='tariq',
                            aggfunc="mean", margins=True,  margins_name="ընդհանուր")
print(pivot_table)
anun              Հայկ     Մկրտիչ  ընդհանուր
marz                                        
ԱՐԱԳԱԾՈՏՆ    43.060936  51.654676  45.056809
ԱՐԱՐԱՏ       42.310781  51.982301  43.702101
ԱՐՄԱՎԻՐ      43.148124  53.958042  45.496203
ԳԵՂԱՐՔՈՒՆԻՔ  45.828068  48.598291  46.234483
ԵՐԵՎԱՆ       42.606372  55.487575  44.426271
ԼՈՌԻ         43.354926  52.713147  44.710329
ԿՈՏԱՅՔ       41.730730  52.748344  43.210854
ՇԻՐԱԿ        42.736246  51.349189  46.422952
ՍՅՈՒՆԻՔ      37.904948  51.603774  38.789281
ՎԱՅՈՑ ՁՈՐ    43.296399  54.944444  44.812048
ՏԱՎՈՒՇ       41.586510  50.676471  42.018156
ընդհանուր    42.646459  52.989122  44.448176

Missing value

import numpy as np
np.any(df.bnakavaer.isna())
np.True_
any(df.bnakavaer.isna()
45         True
61         True
149        True
311        True
312        True
           ... 
2576752    True
2576821    True
2576913    True
2577122    True
2577138    True
Name: bnakavaer, Length: 22692, dtype: bool
df[~df.bnakavaer.isna()] # ~ - not
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
8816 Փիլոյան Հայկ Շավարշի 14/05/1979 ԿՈՏԱՅՔ ԴԵԲԵԴ ԲՅՈՒՐԵՂԱՎԱՆ Սեւանի 6 Մկրշ. Փ. 5Բ 12 28 8/22 1979 46 4
8952 Բադիկյան Հայկ Վազգենի 21/12/1986 ԿՈՏԱՅՔ ՆՈՐԱՄԱՐԳ ԲՅՈՒՐԵՂԱՎԱՆ Վանաձորի Խճղ. 13 28 23/55 1986 39 4
9381 Իսրաելյան Մկրտիչ Աղասու 15/01/1962 ԿՈՏԱՅՔ ՔԱՆԱՔԵՌ-ԶԵՅԹՈՒՆ ԲՅՈՒՐԵՂԱՎԱՆ Հաղթանակ Տեղամաս 62/2 Հողամաս 28 9/10 1962 63 6
9646 Ուզունյան Հայկ Լեւոնի 28/04/1984 ԿՈՏԱՅՔ ՄԵՂՐԻ ԲՅՈՒՐԵՂԱՎԱՆ Ազատամարտիկների Փ. 76 22 28 10/05 1984 41 4
9774 Բաբայան Հայկ Արարատի 12/10/1989 ԿՈՏԱՅՔ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ ԲՅՈՒՐԵՂԱՎԱՆ Տիգրան Մեծի Փ. 44 12 28 29/06 1989 36 4
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2367248 Մինասյան Հայկ Ալբերտի 20/11/1988 ԳԵՂԱՐՔՈՒՆԻՔ ԳԵՂԱՄԱՍԱՐ ԳԵՂՀՈՎԻՏ Գ. Նժդեհի Փ. 21 24 21 6/25 1988 37 4
2367424 Ըխտոյան Հայկ Ժորայի 28/07/1972 ԳԵՂԱՐՔՈՒՆԻՔ ԱՋԱՓՆՅԱԿ ԳԵՂՀՈՎԻՏ Նոր Նորք 7 Զնգվ. 19 3 21 22/34 1972 53 4
2367494 Գալստյան Հայկ Նահապետի 16/06/1994 ԳԵՂԱՐՔՈՒՆԻՔ ԿԵՆՏՐՈՆ ԳԵՂՀՈՎԻՏ 5 Փ. 1 Նրբ. 2 21 4/53 1994 31 4
2367516 Հարությունյան Հայկ Տիգրանի 18/05/1965 ԳԵՂԱՐՔՈՒՆԻՔ ՆՈՐ ՆՈՐՔ ԳԵՂՀՈՎԻՏ 2 Փ. 1 Նրբ. 9 21 8/08 1965 60 4
2367632 Թամոյան Հայկ Վահեի 04/03/1958 ԳԵՂԱՐՔՈՒՆԻՔ ԱԲՈՎՅԱՆ ԳԵՂՀՈՎԻՏ Ս. Դավթի Փ. 9 12 21 5/19 1958 67 4

4455 rows × 13 columns

df = old_df

df.head(2)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ NaN Նորագյուղ 335 28 14/14 1997 28 5
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ NaN Խ. Աբովյան Փ. 42 28 21/33 1964 61 6
df.isna() # None
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 False False False False False False True False False False False False False
1 False False False False False False True False False False False False False
2 False False False False False False True False False False False False False
3 False False False False False False True False False False False False False
4 False False False False False False True False False False False False False
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577168 False False False False False False True False False False False False False
2577169 False False False False False False True False False False False False False
2577170 False False False False False False True False False False False False False
2577171 False False False False False False True False False False False False False
2577172 False False False False False False True False False False False False False

2577173 rows × 13 columns

df.isna().sum()
azganun                  0
anun                     0
haeranun               278
or_amis_tari             0
marz                    24
hamaenq                 24
bnakavaer          2042152
hasce                  745
taracq                   0
texamas                  0
tari                     0
tariq                    0
anvan_erkarutun          0
dtype: int64
df.isna().sum().sum()
np.int64(2043223)
assert df.isna().sum().sum() == 0, "Տվյալների մեջ կան բացակայող արժեքներ"   
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Input In [244], in <cell line: 1>()
----> 1 assert df.isna().sum().sum() == 0, "Տվյալների մեջ կան բացակայող արժեքներ"   

AssertionError: Տվյալների մեջ կան բացակայող արժեքներ
df[df.hasce.isna()]
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
4 Հարությունյան Շաքար Ռուբիկի 01/01/1959 ԿՈՏԱՅՔ ԳՅՈՒԼԱԳԱՐԱԿ NaN NaN 28 21/25 1959 66 5
1188 Չեկուչյան Գրիգոր Հովսեփի 05/08/1956 ԿՈՏԱՅՔ ՇԵՆԳԱՎԻԹ NaN NaN 28 2/02 1956 69 6
2118 Բերիկյան Սոս Բալաբեկի 08/03/1949 ԿՈՏԱՅՔ ՄԵԾ ՄԱՆԹԱՇ NaN NaN 28 18/56 1949 76 3
8600 Խաչատրյան Աննա Հովիկի 25/05/1997 ԿՈՏԱՅՔ ՕՇԱԿԱՆ NaN NaN 28 17/28 1997 28 4
10207 Մանուկյան Վազգեն Համլետի 26/07/1993 ԿՈՏԱՅՔ ՕՁՈՒՆ ԲՅՈՒՐԵՂԱՎԱՆ NaN 28 30/02 1993 32 6
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2563974 Մամուլյան Շուշանիկ Հովհաննեսի 11/07/1959 ԼՈՌԻ ԳՅՈՒԼԱԳԱՐԱԿ NaN NaN 23 18/59 1959 66 8
2565033 Մարգարյան Հայկ Ազատի 18/03/1972 ԼՈՌԻ ԳՅՈՒՄՐԻ NaN NaN 23 12/38 1972 53 4
2571311 Արաբաչյան Անահիտ Մարտինի 21/07/1984 ԼՈՌԻ ԳՅՈՒՄՐԻ NaN NaN 23 7/02 1984 41 6
2575971 Շահբազյան Մելինե Հրաչյայի 05/01/1987 ԼՈՌԻ ՉԱՐԵՆՑԱՎԱՆ NaN NaN 23 29/30 1987 38 6
2576048 Թորոսյան Արգիշտի Վրեժի 03/04/1999 ԼՈՌԻ ԱԼԱՎԵՐԴԻ NaN NaN 23 2/06 1999 26 7

745 rows × 13 columns

df.hasce.dropna() #.isna().sum()
0              Պետրոզավոդսկ Փ.   29
1                   Գուգարքի Փ.   9
2                   5 Փ. 4 Փկղ.   6
3                     Նաիրի Փ.   58
5                          6 Փ.   6
                     ...           
2577168      Կալինինի Փ.   241   21
2577169          Մուղնի 7 Թղմ.   57
2577170                   7 Փ.   15
2577171                    1 Փ.   3
2577172    Դավիթ Բեկ Թղմ.   12   14
Name: hasce, Length: 2576428, dtype: object
df.fillna('ոչմիբան', inplace=True)
df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ ոչմիբան Խ. Աբովյան Փ. 42 28 21/33 1964 61 6
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ ոչմիբան Չարենցի 1 Նրբ. 20 28 26/33 1986 39 10
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ ոչմիբան Բակունցի Փ. 30 28 32/29 1954 71 6
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ ոչմիբան Աբովյան Փ. 36 5 28 20/12 1959 66 5
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ ոչմիբան Նոր Թաղամաս 1 7 23 22/21 1987 38 3
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ ոչմիբան Պ. Սեւակի Փ. 4 23 37/18 1960 65 6
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ ոչմիբան Դեմիրճյան Փ. 29 29 23 31/14 1970 55 6
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ ոչմիբան Տնակ 204/036 Տնակ 23 13/15 1978 47 6
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ ոչմիբան Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

2577173 rows × 13 columns

Վերանվանում, փոխարինում

df.rename(columns={'anun':'Անուն', 'azganun': 'Ազգանուն'})
Ազգանուն Անուն haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ ոչմիբան Խ. Աբովյան Փ. 42 28 21/33 1964 61 6
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ ոչմիբան Չարենցի 1 Նրբ. 20 28 26/33 1986 39 10
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ ոչմիբան Բակունցի Փ. 30 28 32/29 1954 71 6
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ ոչմիբան Աբովյան Փ. 36 5 28 20/12 1959 66 5
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ ոչմիբան Նոր Թաղամաս 1 7 23 22/21 1987 38 3
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ ոչմիբան Պ. Սեւակի Փ. 4 23 37/18 1960 65 6
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ ոչմիբան Դեմիրճյան Փ. 29 29 23 31/14 1970 55 6
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ ոչմիբան Տնակ 204/036 Տնակ 23 13/15 1978 47 6
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ ոչմիբան Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

2577173 rows × 13 columns

df.rename(index={1: 'մեկ', 3:'երեք'})
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5
մեկ Աղաջանյան Կարինե Անդրանիկի 14/08/1964 ԿՈՏԱՅՔ ԵՂՎԱՐԴ ոչմիբան Խ. Աբովյան Փ. 42 28 21/33 1964 61 6
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 ԿՈՏԱՅՔ ԳՅՈՒՄՐԻ ոչմիբան Չարենցի 1 Նրբ. 20 28 26/33 1986 39 10
երեք Ալեքսանյան Համեստ Գեւորգի 24/10/1954 ԿՈՏԱՅՔ ԿԵՆՏՐՈՆ ոչմիբան Բակունցի Փ. 30 28 32/29 1954 71 6
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ ոչմիբան Աբովյան Փ. 36 5 28 20/12 1959 66 5
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ ոչմիբան Նոր Թաղամաս 1 7 23 22/21 1987 38 3
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 ԼՈՌԻ ԱՐԵՆԻ ոչմիբան Պ. Սեւակի Փ. 4 23 37/18 1960 65 6
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 ԼՈՌԻ ՏԱՇԻՐ ոչմիբան Դեմիրճյան Փ. 29 29 23 31/14 1970 55 6
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 ԼՈՌԻ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ ոչմիբան Տնակ 204/036 Տնակ 23 13/15 1978 47 6
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ ոչմիբան Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

2577173 rows × 13 columns

df.replace({'ԿՈՏԱՅՔ': 'Կ', "ԼՈՌԻ": "Լ"})a
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 Կ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5
1 Աղաջանյան Կարինե Անդրանիկի 14/08/1964 Կ ԵՂՎԱՐԴ ոչմիբան Խ. Աբովյան Փ. 42 28 21/33 1964 61 6
2 Հարությունյան Հարություն Ավետիսի 29/10/1986 Կ ԳՅՈՒՄՐԻ ոչմիբան Չարենցի 1 Նրբ. 20 28 26/33 1986 39 10
3 Ալեքսանյան Համեստ Գեւորգի 24/10/1954 Կ ԿԵՆՏՐՈՆ ոչմիբան Բակունցի Փ. 30 28 32/29 1954 71 6
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 Կ Գ.ԱՐԱՐԱՏ ոչմիբան Աբովյան Փ. 36 5 28 20/12 1959 66 5
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 Լ ՈՒՋԱՆ ոչմիբան Նոր Թաղամաս 1 7 23 22/21 1987 38 3
2577169 Իսրաելյան Կարինե Պարգեւի 13/03/1960 Լ ԱՐԵՆԻ ոչմիբան Պ. Սեւակի Փ. 4 23 37/18 1960 65 6
2577170 Գրիգորյան Անահիտ Ռուսլանի 12/05/1970 Լ ՏԱՇԻՐ ոչմիբան Դեմիրճյան Փ. 29 29 23 31/14 1970 55 6
2577171 Սահակյան Նարինե Կարապետի 25/09/1978 Լ ՄԱԼԱԹԻԱ-ՍԵԲԱՍՏԻԱ ոչմիբան Տնակ 204/036 Տնակ 23 13/15 1978 47 6
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 Լ ԱՐԱԲԿԻՐ ոչմիբան Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

2577173 rows × 13 columns

df = df.loc[::2]
df
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5
4 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ ոչմիբան Աբովյան Փ. 36 5 28 20/12 1959 66 5
8 Մուրադյան Արմենուհի Ենոքի 23/05/1982 ԿՈՏԱՅՔ ԵՂՎԱՐԴ ոչմիբան Մուրացանի Փ. 21 28 10/11 1982 43 9
12 Բարխուդարյան Կարինե Էլիզբարի 24/02/1957 ԿՈՏԱՅՔ ԱՋԱՓՆՅԱԿ ոչմիբան Սայաթ-Նովա Թղմ. 3 2 28 3/32 1957 68 6
16 Աղաջանյան Արաքսի Միրանի 06/11/1958 ԿՈՏԱՅՔ ՀԱՑԻԿ ոչմիբան Ուզբեկական Կ-6 13 1 28 7/16 1958 67 6
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2577156 Մխիթարյան Արփինե Անուշավանի 11/05/1981 ԼՈՌԻ ՇԵՆԳԱՎԻԹ ոչմիբան 8 Փ. 2 23 29/29 1981 44 6
2577160 Գեւորգյան Հասմիկ Վազգենի 18/04/1995 ԼՈՌԻ ԿԵՆՏՐՈՆ ոչմիբան Հովհ. Հովհաննիսյան Փ. 54 23 29/05 1995 30 6
2577164 Եղիկյան Անահիտ Վաղինակի 08/07/1960 ԼՈՌԻ ԷՐԵԲՈՒՆԻ ոչմիբան Մարգարյան 2 Նրբ. 5 12 23 31/44 1960 65 6
2577168 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ ոչմիբան Նոր Թաղամաս 1 7 23 22/21 1987 38 3
2577172 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ ոչմիբան Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

644294 rows × 13 columns

df.reset_index(drop=True)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5
1 Հարությունյան Շաքար Հրաչյաի 01/01/1959 ԿՈՏԱՅՔ Գ.ԱՐԱՐԱՏ ոչմիբան Աբովյան Փ. 36 5 28 20/12 1959 66 5
2 Մուրադյան Արմենուհի Ենոքի 23/05/1982 ԿՈՏԱՅՔ ԵՂՎԱՐԴ ոչմիբան Մուրացանի Փ. 21 28 10/11 1982 43 9
3 Բարխուդարյան Կարինե Էլիզբարի 24/02/1957 ԿՈՏԱՅՔ ԱՋԱՓՆՅԱԿ ոչմիբան Սայաթ-Նովա Թղմ. 3 2 28 3/32 1957 68 6
4 Աղաջանյան Արաքսի Միրանի 06/11/1958 ԿՈՏԱՅՔ ՀԱՑԻԿ ոչմիբան Ուզբեկական Կ-6 13 1 28 7/16 1958 67 6
... ... ... ... ... ... ... ... ... ... ... ... ... ...
644289 Մխիթարյան Արփինե Անուշավանի 11/05/1981 ԼՈՌԻ ՇԵՆԳԱՎԻԹ ոչմիբան 8 Փ. 2 23 29/29 1981 44 6
644290 Գեւորգյան Հասմիկ Վազգենի 18/04/1995 ԼՈՌԻ ԿԵՆՏՐՈՆ ոչմիբան Հովհ. Հովհաննիսյան Փ. 54 23 29/05 1995 30 6
644291 Եղիկյան Անահիտ Վաղինակի 08/07/1960 ԼՈՌԻ ԷՐԵԲՈՒՆԻ ոչմիբան Մարգարյան 2 Նրբ. 5 12 23 31/44 1960 65 6
644292 Շահվերդյան Ալա Ռոբերտի 22/04/1987 ԼՈՌԻ ՈՒՋԱՆ ոչմիբան Նոր Թաղամաս 1 7 23 22/21 1987 38 3
644293 Մկրտչյան Գայանե Հայկազի 24/04/1966 ԼՈՌԻ ԱՐԱԲԿԻՐ ոչմիբան Մոլդովական Փ. 48/2 25 23 1/06 1966 59 6

644294 rows × 13 columns

Save անել

%%time
old_df.to_csv("data.csv", index=False)
CPU times: total: 20.2 s
Wall time: 25 s

parquet file

https://parquet.apache.org/

գուցե պետք լինի pyarrow install անել

%%time
old_df.to_parquet("data.parquet", index=False)
CPU times: total: 5.34 s
Wall time: 6.91 s
%%time
new_df = pd.read_csv("data.csv")
CPU times: total: 13.1 s
Wall time: 15.5 s
%%time
new_df = pd.read_parquet("data.parquet")
CPU times: total: 7.03 s
Wall time: 6.4 s
import os

file1 = 'data.csv'
file2 = 'data.parquet'

file1_size = os.path.getsize(file1)
file2_size = os.path.getsize(file2)

# Print file sizes
print(f"Size of {file1}: {file1_size // 1024 // 1024} megabytes")
print(f"Size of {file2}: {file2_size // 1024 // 1024} megabytes")
print(file1_size / file2_size)
Size of data.csv: 369 megabytes
Size of data.parquet: 63 megabytes
5.796176618652559
df.head(1)
azganun anun haeranun or_amis_tari marz hamaenq bnakavaer hasce taracq texamas tari tariq anvan_erkarutun
0 Հարությունյան Կարեն Ավետիսի 14/11/1997 ԿՈՏԱՅՔ ՁՈՐԱԳՅՈՒՂ ոչմիբան Նորագյուղ 335 28 14/14 1997 28 5

🏡Տնային

Վերցնել ցանկացած դատասեթ ու փորփրել։

Կարող եք դատան վերցնել Kaggle-ից։ Կամ եթե հայկական եք ուզում՝ Armstat-ից

🎲 21 (03)

Flag Counter