Π₯ΠΎΡΠ΅ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ IT-ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ?

ΠΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ: ΡΡΡΠ΅ΡΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π²ΠΎΠΏΡΠΎΡΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Π³ΠΎΠ»ΠΎΠ²Π° ΠΈΠ΄ΡΡ ΠΊΡΡΠ³ΠΎΠΌ. ΠΠΎ Ρ AI ΡΡΠ΅Π½Π°ΠΆΡΡΠΎΠΌ Π²ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅.
💡 ΠΠΎΡΠ΅ΠΌΡ Π’1 ΡΡΠ΅Π½Π°ΠΆΡΡ β ΡΡΠΎ ΠΌΠ°ΡΡΡ ΡΠ²?
- ΠΠΎΠ»ΡΡΠΈΡΡ Π½Π°ΡΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ: Π³Π΄Π΅ Π·Π°ΡΡΠΊ, ΡΡΠΎ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΠ°ΡΡ Π»ΡΡΡΠ΅
- ΠΠ°ΡΡΠΈΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π»: "ΠΠ°Ρ!".
- ΠΡΠ²ΠΎΠΈΡΡ Π²ΡΠ΅ ΡΡΠ°ΠΏΡ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ Π΄ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΎ ΡΠ²ΠΎΠΈΡ ΡΠ΅Π»ΡΡ .
ΠΠ°ΡΠ΅ΠΌ Π»ΠΈΡΡΠ°ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠ²? ΠΡΠΎΡΡΠΎ Π·Π°ΠΉΠ΄ΠΈ Π² Π’1 ΡΡΠ΅Π½Π°ΠΆΡΡ, ΠΏΠΎΡΡΠ΅Π½ΠΈΡΡΠΉΡΡ ΠΈ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΡΠ΄ΠΈΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅ΡΠΎΠ². ΠΡ Π½Π΅ ΠΎΠ±Π΅ΡΠ°Π΅ΠΌ Π»ΡΠ³ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ»ΠΊΠΈ, Π½ΠΎ ΠΎΠ±Π΅ΡΠ°Π΅ΠΌ, ΡΡΠΎ Π±ΡΠ΄Π΅ΡΡ Π³ΠΎΡΠΎΠ²!
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«Π‘ΠΌΠ°ΡΡ ΠΠΈΠΊΠΎΒ», ΠΠΠ 7743264341. Erid 2VtzqwP8vqy
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ: Β«Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ ΠΌΠΎΠ³ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² PandasΒ»?
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΡΠΎ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅! Pandas Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ³ΡΠΎΠΌΠ½Π° ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠ°, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π±Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ Π³Π»ΡΠ±ΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠ΅Π½Ρ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΡΠ΅Π΄ΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠ΅ΡΡΡΡΡΡ Π² Π³Π»ΡΠ±ΠΈΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π·Π°ΡΠ΅ΡΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΎΡΠΊΡΡΡΡ Π΄Π»Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Pandas ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π²Π°ΠΌ ΠΊΠ°Π·Π°Π»ΠΎΡΡ.

1. ExcelWriter
ExcelWriter β ΡΡΠΎ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Excel (Ρ Π»ΠΈΡΡΠ°ΠΌΠΈ!) ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Π½ΠΈΡ DataFrame. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ :
# ΠΠ°Π³ΡΡΠ·ΠΈΠΌ Π΄Π²Π° Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ
diamonds = sns.load_dataset("diamonds")
tips = sns.load_dataset("tips")
# ΠΠΈΡΠ΅ΠΌ ΠΎΠ±Π° Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ» Excel
with pd.ExcelWriter("data/data.xlsx") as writer:
diamonds.to_excel(writer, sheet_name="diamonds")
tips.to_excel(writer, sheet_name="tips")
Π£ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° DateTime: Ρ
ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Excel ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π»ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Ρ. ΠΏ. ΠΠ΅ΡΠ°Π»ΠΈ ΡΠΌ. Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
2. pipe

pipe β ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΡΠΈΡΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² Pandas ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΈ ΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΠΎΠ΄Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² (remove_duplicates), ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠΎΡΠΎΠ² (remove_outliers) ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² (encode_categoricals), ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΡ ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ:
df_preped = (diamonds.pipe(drop_duplicates).
pipe(remove_outliers, ['price', 'carat', 'depth']).
pipe(encode_categoricals, ['cut', 'color', 'clarity'])
)
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡ
ΠΎΠΆΠ° Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Sklearn. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ β ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ°ΡΡΡ.
3. factorize
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ β Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° LabelEncoder ΠΈΠ· Sklearn Π² Pandas:
# ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° [0] Π² ΠΊΠΎΠ½ΡΠ΅
diamonds["cut_enc"] = pd.factorize(diamonds["cut"])[0]
>>> diamonds["cut_enc"].sample(5)
52103 2
39813 0
31843 0
10675 0
6634 0
Name: cut_enc, dtype: int64
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ LabelEncoder'Π°, factorize Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· Π΄Π²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ.
codes, unique = pd.factorize(diamonds["cut"], sort=True)
>>> codes[:10]
array([0, 1, 3, 1, 3, 2, 2, 2, 4, 2], dtype=int64)
>>> unique
['Ideal', 'Premium', 'Very Good', 'Good', 'Fair']
4. explode β ΠΠ°Π±Π°Ρ !

explode β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (Π²Π·ΡΡΠ²). ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ:
data = pd.Series([1, 6, 7, [46, 56, 49], 45, [15, 10, 12]]).to_frame("dirty")
>>> data

Π ΡΡΠΎΠ»Π±ΡΠ΅ dirty Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΠΏΠΈΡΠΊΠΈ. Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΠΏΡΠΎΡΠ°Ρ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ²Π΅ΡΠΎΠ².
>>> data.explode("dirty", ignore_index=True)

explode ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΠ΅ΠΉΠΊΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ignore_index Π² True, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
5. squeeze

ΠΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Ρ Π·Π°Π±Π°Π²Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ β ΡΡΠΎ squeeze (ΡΠΆΠ°ΡΠΈΠ΅), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π² ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΈΡ , Π½ΠΎ Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²ΡΡ ΡΠ»ΡΡΠ°ΡΡ . ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² β ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ· DataFrame Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
subset = diamonds.loc[diamonds.index < 1, ["price"]]
>>> subset

Π₯ΠΎΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Π° ΡΡΠ΅ΠΉΠΊΠ°, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ DataFrame. ΠΡΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΅ΡΠ΅ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ .loc ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΡ ΡΡΠΎΠ»Π±ΡΠ°, ΡΠ°ΠΊ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π½Ρ.
ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΏΡΠΎ squeeze, Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ±ΡΠ°ΡΡ ΠΎΡΠΈ ΠΈΠ· DataFrame ΠΈΠ»ΠΈ Series, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
>>> subset.squeeze()
326
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΡΡ ΠΎΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ:
>>> subset.squeeze("columns") # ΠΈΠ»ΠΈ "rows"
0 326
Name: price, dtype: int64
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ squeeze ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ DataFrame ΠΈ Series, ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
6. between

ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΏΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ:
# ΠΡΠ±ΡΠ°ΡΡ Π±ΡΠΈΠ»Π»ΠΈΠ°Π½ΡΡ Ρ ΡΠ΅Π½ΠΎΠΉ ΠΎΡ 3500 Π΄ΠΎ 3700 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ²
diamonds[diamonds["price"]\
.between(3500, 3700, inclusive="neither")].sample(5)

7. T
Π£ Π²ΡΠ΅Ρ DataFrame Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π°ΡΡΠΈΠ±ΡΡ T, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β». ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½ΠΎ Ρ ΡΡΠΈΡΠ°Ρ Π΅Π³ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ DataFrame'ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° describe():
>>> boston.describe().T.head(10)

ΠΠ°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΎ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ ΠΠΎΡΡΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 30 ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·Π²Π°ΡΡ describe, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ DataFrame Π±ΡΠ΄Π΅Ρ ΡΠΆΠ°Ρ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΄Π½ΠΎ. Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΡΠΈ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΈ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ Π±ΡΠ΄ΡΡ ΡΠΆΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
8. Π‘ΡΠΈΠ»ΠΈΠ·Π°ΡΠΎΡ Pandas
Π Π²Ρ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ Pandas ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΠΈΠ»ΠΈ DataFrame'ΠΎΠ²?
Π£ Π½ΠΈΡ Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ style, ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π²Π΅ΡΡ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΈ ΡΡΠΈΠ»ΡΠΌ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ HTML ΠΈ CSS. Π― Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ style, ΠΏΠΎΠΊΠ°ΠΆΡ Π»ΠΈΡΡ ΡΠ²ΠΎΠΈ Π»ΡΠ±ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
>>> diabetes.describe().T.drop("count", axis=1)\
.style.highlight_max(color="darkred")

ΠΡ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΎΡ β background_gradient, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΠΈΠΉ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
diabetes.describe().T.drop("count", axis=1).style.background_gradient(
subset=["mean", "50%"], cmap="Reds"
)

ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ describe Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΎΡΡ.
9. ΠΠΏΡΠΈΠΈ Pandas
ΠΠ°ΠΊ ΠΈ Π² Matplotlib, Π² Pandas Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
>>> dir(pd.options)
['compute', 'display', 'io', 'mode', 'plotting']
ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° 5 ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΅ΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ display:
>>> dir(pd.options.display)
['chop_threshold',
'max_columns',
'max_colwidth',
'max_info_columns',
'max_info_rows',
'max_rows',
...
'precision',
'show_dimensions',
'unicode',
'width']
Π Π³ΡΡΠΏΠΏΠ΅ display ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, Π½ΠΎ Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ max_columns ΠΈ precision:
# Π£Π±ΡΠ°ΡΡ Π»ΠΈΠΌΠΈΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ²
pd.options.display.max_columns = None
# ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ 5 ΡΠΉΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ
pd.options.display.precision = 5 # ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π½Π°ΡΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎΠ± ΡΡΠΈΡ
Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
10. convert_dtypes
ΠΡΠ΅ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Pandas ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΠΈΠ²ΡΡΠΊΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ object. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π²ΡΡΡΠ½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ convert_dtypes, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ :
sample = pd.read_csv(
"data/station_day.csv",
usecols=["StationId", "CO", "O3", "AQI_Bucket"],
)
>>> sample.dtypes
StationId object
CO float64
O3 float64
AQI_Bucket object
dtype: object
>>> sample.convert_dtypes().dtypes
StationId string
CO float64
O3 float64
AQI_Bucket string
dtype: object
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Π΄Π°ΡΡ ΠΈΠ·-Π·Π° Π½ΡΠ°Π½ΡΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
11. select_dtypes
Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ β ΡΡΠΎ select_dtypes. ΠΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½ ΠΈΠ· Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ: Π²ΡΠ±ΠΎΡ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ . Π£ Π½Π΅Π΅ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ include ΠΈ exclude, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠΎΠ»Π±ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ, ΡΠΊΠ°Π·Π°Π² np.number:
# ΠΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ
diamonds.select_dtypes(include=np.number).head()

ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ :
# ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ
diamonds.select_dtypes(exclude=np.number).head()

12. mask

Π€ΡΠ½ΠΊΡΠΈΡ mask ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠ°Ρ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΡΠΎΡΠ° Π»ΡΠ΄Π΅ΠΉ ΠΎΡ 50 Π΄ΠΎ 60:
# Create sample data
ages = pd.Series([55, 52, 50, 66, 57, 59, 49, 60]).to_frame("ages")
ages

ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ Π²ΠΎΠ·ΡΠ°ΡΡ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΎΡ 50 Π΄ΠΎ 60 Π»Π΅Ρ, ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π° (ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π΄Π²Π΅ β 49 ΠΈ 66 Π»Π΅Ρ), ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π½Π° NaN:
ages.mask(cond=~ages["ages"].between(50, 60), other=np.nan)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, mask Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΅ΠΊ, Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠ΅ cond, Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ other.
13. min ΠΈ max ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ
Π₯ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ min ΠΈ max ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΡ ΡΠ»ΡΡΠ°Π΅Π². ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ :
index = ["Diamonds", "Titanic", "Iris", "Heart Disease", "Loan Default"]
libraries = ["XGBoost", "CatBoost", "LightGBM", "Sklearn GB"]
df = pd.DataFrame(
{lib: np.random.uniform(90, 100, 5) for lib in libraries}, index=index
)
>>> df

ΠΡΠΎΡ DataFrame ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅ΡΡΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΠΈΠ½Π³Π° Π½Π° ΠΏΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π½Π°Π±ΠΎΡΠ°Ρ Π΄Π°Π½Π½ΡΡ . ΠΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΉΡΠΈ Π»ΡΡΡΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ max:
>>> df.max(axis=1)
Diamonds 99.52684
Titanic 99.63650
Iris 99.10989
Heart Disease 99.31627
Loan Default 97.96728
dtype: float64
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΡΠΎΠ»Π±ΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ 1 Π½Π° 0.
14. nlargest ΠΈ nsmallest
ΠΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ°. ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ N ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ (ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ) Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ nlargest ΠΈ nsmallest. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅ΠΌ 5 ΡΠ°ΠΌΡΡ Π΄ΠΎΡΠΎΠ³ΠΈΡ ΠΈ ΡΠ°ΠΌΡΡ Π΄Π΅ΡΠ΅Π²ΡΡ Π±ΡΠΈΠ»Π»ΠΈΠ°Π½ΡΠΎΠ²:
diamonds.nlargest(5, "price")

diamonds.nsmallest(5, "price")

15. idxmax ΠΈ idxmin
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ max ΠΈΠ»ΠΈ min Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠ°, pandas Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΠΎΠ½ΠΎ ΡΠ°ΠΌΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ idxmax ΠΈ idxmin:
>>> diamonds.price.idxmax()
27749
>>> diamonds.carat.idxmin()
14
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π΄Π°ΡΡ axis='columns', ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°.
16. value_counts Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ dropna=False
ΠΠ»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ isnull ΠΈ sum ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ value_counts, Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ:
ames_housing = pd.read_csv("data/train.csv")
>>> ames_housing["FireplaceQu"].value_counts(dropna=False, normalize=True)
NaN 0.47260
Gd 0.26027
TA 0.21438
Fa 0.02260
Ex 0.01644
Po 0.01370
Name: FireplaceQu, dtype: float64
Π ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ 47% ΠΏΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (NaN).
17. clip

ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ±ΡΠΎΡΠΎΠ² ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½ΡΡ . Π€ΡΠ½ΠΊΡΠΈΡ clip ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ±ΡΠΎΡΡ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΠΌΠΈ Π»ΡΠ΄Π΅ΠΉ ΠΎΡ 50 Π΄ΠΎ 60:

ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ 50 Π΄ΠΎ 60, ΠΊΡΠ°ΠΉΠ½ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
ages.clip(50, 60)

ΠΡΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ!
18. at_time ΠΈ between_time
ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ 100 ΡΠ°ΡΠΎΠ²ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ²:
index = pd.date_range("2021-08-01", periods=100, freq="H")
data = pd.DataFrame({"col": list(range(100))}, index=index)
>>> data.head()

Π€ΡΠ½ΠΊΡΠΈΡ at_time ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π΄Π°ΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΠΌ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ 15.00:
data.at_time("15:00")

ΠΠ΄ΠΎΡΠΎΠ²ΠΎ, ΠΏΡΠ°Π²Π΄Π°? Π ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ between_time, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ:
from datetime import datetime
>>> data.between_time("09:45", "12:00")

ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΎΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ DateTimeIndex, ΠΈ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ DateTime, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ between.
19. bdate_range
bdate_range β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² TimeSeries Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ·Π½Π΅Ρ-Π΄Π΅Π½Ρ.
series = pd.bdate_range("2021-01-01", "2021-01-31") # A period of one month
>>> len(series)
21
Π§Π°ΡΡΠΎΡΠ° Π² Π±ΠΈΠ·Π½Π΅Ρ-Π΄Π΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ ΠΌΠΈΡΠ΅. ΠΠ½Π°ΡΠΈΡ, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ reindex.
20. autocorr
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ β ΡΡΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ β ΡΡΠΎ ΡΡΠ°ΡΡΠΉ Π΄ΠΎΠ±ΡΡΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ, Π½ΠΎ Π²Π·ΡΡΡΠΉ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π»Π°Π³ΠΎΠΌ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π’ΠΎΡΠ½Π΅Π΅, Π°Π²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΏΡΠΈ lag=k Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
1. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ k ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ:
time_series = tips[["tip"]]
time_series["lag_1"] = time_series["tip"].shift(1)
time_series["lag_2"] = time_series["tip"].shift(2)
time_series["lag_3"] = time_series["tip"].shift(3)
time_series["lag_4"] = time_series["tip"].shift(4)
# time_series['lag_k'] = time_series['tip'].shift(k)
>>> time_series.head()

2. Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π»Π°Π³ΠΎΠΌ.
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Pandas autocorr:
# ΠΠ²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ tip ΠΏΡΠΈ lag_8
>>> time_series["tip"].autocorr(lag=8)
0.07475238789967077
Π Π²Π°ΠΆΠ½ΠΎΡΡΠΈ Π°Π²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
21. hasnans
Pandas ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΈ Series ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π°ΡΡΠΈΠ±ΡΡ hasnans:
series = pd.Series([2, 4, 6, "sadf", np.nan])
>>> series.hasnans
True
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π°ΡΡΠΈΠ±ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Series.
22. at ΠΈ iat
ΠΡΠΈ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ β Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ loc ΠΈ iloc, Π½ΠΎ Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ: ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
# [index, label]
>>> diamonds.at[234, "cut"]
'Ideal'
# [index, index]
>>> diamonds.iat[1564, 4]
61.2
# ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ 16541-Ρ ΡΡΡΠΎΠΊΡ ΡΡΠΎΠ»Π±ΡΠ° price
>>> diamonds.at[16541, "price"] = 10000
23. argsort
ΠΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:
tips.reset_index(inplace=True, drop=True)
sort_idx = tips["total_bill"].argsort(kind="mergesort")
# Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ `tips` Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ total_bill
tips.iloc[sort_idx].head()

24. ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° cat
ΠΠ±ΡΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Pandas ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python Π½Π° Π΄Π°ΡΠ°Ρ ΠΈ ΡΡΡΠΎΠΊΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° Π²ΡΠΎΠ΄Π΅ dt ΠΈΠ»ΠΈ str. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Pandas Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ category Π΄Π»Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
>>> diamonds.dtypes
carat float64
cut category
color category
clarity category
depth float64
table float64
price int64
x float64
y float64
z float64
cut_enc int64
dtype: object
ΠΡΠ»ΠΈ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ category, Π½Π°Π΄ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ° cat. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΎΠ³ΡΠ°Π½ΠΊΠΈ Π±ΡΠΈΠ»Π»ΠΈΠ°Π½ΡΠΎΠ²:
>>> diamonds["cut"].cat.categories
['Ideal', 'Premium', 'Very Good', 'Good', 'Fair']
ΠΡΡΡ ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ remove_categories, rename_categories ΠΈ Ρ. Π΄.:
diamonds["new_cuts"] = diamonds["cut"].cat.rename_categories(list("ABCDE"))
>>> diamonds["new_cuts"].cat.categories
Index(['A', 'B', 'C', 'D', 'E'], dtype='object')
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° cat, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ.
25. GroupBy.nth
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² GroupBy. ΠΠΎΡΠ»Π΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ n-Ρ ΡΡΡΠΎΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³ΡΡΠΏΠΏΡ:
diamonds.groupby("cut").nth(5)

ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ Dask ΠΈ datatable ΠΏΠΎΡΠΈΡ ΠΎΠ½ΡΠΊΡ Π²ΡΡΠ΅ΡΠ½ΡΡΡ Pandas Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡ ΡΠ²Π΅ΡΠΊΠ°ΡΡΠΈΠΌ Π½ΠΎΠ²ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄Π°Π½Π½ΡΡ , Pandas ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ Data Science Π½Π° Python.
ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΠΎΠ±ΡΠ°Π·Π΅Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ°ΠΆΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ»ΡΡΡΠΈΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΊ SciPy.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
- π ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π°ΡΠ°-ΠΆΡΡΠ½Π°Π»ΠΈΡΡΠ° #1: Jupyter Notebook ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pandas
- π€ Numpy, Pandas, matplotlib β Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π»Ρ ΡΡΠ°ΡΡΠ° Π² Machine Learning
- πDjango, Pandas ΠΈ Chart.js Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ