Python: деректен өз есебіңізге дейін 25-сабақ (барлығы 56)
Модуль сөздігі: кесте сөйлейтін сегіз сөз
Сабақ емес, pandas модулінің қалың бөлігі алдындағы анықтамалық бет. Сегіз сөз — кесте, баған, белгі мен позиция, маска, жетіспейтін мән, кілт, түр және пішін — үш жолдық бір кестеде. Қазір бір рет оқып шығыңыз да, сөз кездескенде қайта оралыңыз: қасында ол қай сабақта түсіндірілетіні жазулы.
Бұл бетті қалай пайдалану керек
Әрі қарай қатарынан жеті сабақ келеді, әрі олар бұрынғының бәрінен қалың. Әрқайсысы өз ұғымдарын енгізеді, бірақ сегіз сөз бәрінде қайталанады, ал оларды шатастыру кез келген жеке функцияны білмегеннен қымбатқа түседі.
Мұнда олар бір жерге, үш жолдық кішкентай кестеге жиналған. Бұл — сабақ емес: мұнда жаттығу да, тапсырма да, талдау да жоқ, тек сөздік. Жаттап алуға тырыспай, қазір көзбен шолып өтіңіз де, сөз іс жүзінде кездескенде қайта оралыңыз. Сегізінің әрқайсысы өз сабағында егжей-тегжейлі түсіндіріледі, әрі қасында қай сабақ екені жазулы.
pandas өткен сабақта орнатылған; беттегі бағдарламаны бірден іске қосуға болады.
Бір кестедегі сегіз сөз
"""Модуль сөздігі: бір кішкентай кестедегі сегіз сөз.
Үш түбіртек, екі баған және бір жетіспейтін мән. pandas сабақтары сөйлейтін
сөздердің бәрін көрсетуге осы жетеді.
"""
import pandas as pd
df = pd.DataFrame(
{"city": ["Қостанай", "Рудный", "Астана"], "amount": [4200.0, 16200.0, None]},
index=[101, 102, 103],
)
df.index.name = "түбіртек"
print(df)
print()
print("1. кесте:", type(df).__name__, "| 2. баған:", type(df["city"]).__name__)
print("3. жол белгілері:", df.index.tolist(), "| позициялар: 0, 1, 2")
print(" loc[102] — белгі бойынша:", df.loc[102, "city"])
print(" iloc[1] — позиция бойынша:", df.iloc[1]["city"])
print("4. маска:", (df["amount"] > 5000).tolist())
print("5. жетіспейтін мән:", int(df["amount"].isna().sum()), "| сома оны санамайды:", df["amount"].sum())
print("6. кілт — қайталанбайтын баған; city-де қайталау:", int(df["city"].duplicated().sum()))
print("7. баған түрлері:", dict(df.dtypes.astype(str)))
print("8. пішіні:", df.shape, "— жол мен баған")
Шығысы:
city amount
түбіртек
101 Қостанай 4200.0
102 Рудный 16200.0
103 Астана NaN
1. кесте: DataFrame | 2. баған: Series
3. жол белгілері: [101, 102, 103] | позициялар: 0, 1, 2
loc[102] — белгі бойынша: Рудный
iloc[1] — позиция бойынша: Рудный
4. маска: [False, True, False]
5. жетіспейтін мән: 1 | сома оны санамайды: 20400.0
6. кілт — қайталанбайтын баған; city-де қайталау: 0
7. баған түрлері: {'city': 'str', 'amount': 'float64'}
8. пішіні: (3, 2) — жол мен баған
Әрқайсысы нені білдіреді
1. Кесте — DataFrame. Тізімдер тізімі емес: бағандардың аты бар, жолдардың белгісі бар, әрі әр бағанның өз түрі бар. Егжей-тегжейі — жиырма бесінші сабақта.
2. Баған — Series. Мәндер және сол белгілер. df["city"] — бұл Series, ал df[["city", "amount"]] — қайтадан кесте: тік жақшаның ішінде тізім тұр. Басқа біреудің кодындағы түсінбестіктің жартысы — кесте күткен жерде Series тұрғаны.
3. Белгі мен позиция. Белгі — жолдың аты (бізде бұл түбіртек нөмірі: 101, 102, 103). Позиция — реттік нөмір (0, 1, 2). loc белгі бойынша, iloc позиция бойынша сұрайды. Белгілер нөлден қатарынан жүргенде айырмашылық көрінбейді; ол сұрыптау мен сүзгіден кейін шығады — жиырма жетінші сабақ.
4. Маска. Бағанмен салыстыру «иә» не «жоқ» емес, «иә» мен «жоқтан» тұратын баған береді — әр жолға бір жауап. Кесте сонымен сүзіледі: df[df["amount"] > 5000]. Маскалар &, |, ~ таңбаларымен қосылады, әр бөлігі — өз жақшасында.
5. Жетіспейтін мән — NaN. Нөл де емес, бос жол да емес: «мұнда сан жоқ». Арифметикада ол жұқпалы (NaN + 5 NaN береді), ал sum пен mean оны өткізіп жібереді — сондықтан мысалда қате емес, 20 400 сомасы шықты. Онымен не істеу керегі — отызыншы сабақ.
6. Кілт. Кестелерді біріктіретін баған: ел коды, түбіртек нөмірі, күн. Қайталанбайтыны жарайды — әйтпесе біріктіру жолдарды көбейтеді. Тексеру біреу: df["код"].duplicated().sum(). Біріктіру — жиырма тоғызыншы сабақ.
7. Баған түрі — dtype. int64, float64, str, datetime64, category. Түр бағанмен не істеуге болатынын шешеді: жолдың айы жоқ, ал жолды санмен салыстыру құлайды. Басқа жүйеден келген файлда бірінші қаралатыны осы.
8. Пішін — shape. «Жол, баған» жұбы. Оны әр әрекеттің алдында және кейін қарайды: біріктіруден не тазалаудан кейін жол саны күткеніңізден басқаша өзгерсе, әрі қарай санаудың мәні жоқ.
Басқа жерден келген кез келген кестеге үш сұрақ
Бірдеңе санамас бұрын:
df.shape қанша жол, қанша баған
df.dtypes pandas әр бағанды не деп санайды
df.head(3) ол сырттай қалай көрінеді
Төртіншісі — df.index: жолдар неге қарап белгіленген. Басқа біреудің кодындағы оғаштықтың жартысы ұмытылып кеткен индекспен түсіндіріледі.
Әрі қарай не
Келесі сабақ — DataFrame мен Series тұтасымен: индекс, тілімдер, белгілер бойынша сәйкестендіру. Одан әрі — оқу мен жазу, таңдау, топтау, біріктіру, лас дерек және кестедегі уақыт. Қандай да бір сабақта сөз түсініксіз болып кетсе, бұл бет еш жаққа жоғалмайды.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.