π ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ pandas: Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ
import pandas as pd
df = pd.DataFrame({'Π‘ΡΡΠΎΠΊΠ°': ['ΠΏΡΠΈΠ²Π΅Ρ', 'ΠΏΠΎΠΊΠ°', 'Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅']})
df['ΠΠ»ΠΈΠ½Π°'] = df['Π‘ΡΡΠΎΠΊΠ°'].apply(len)
print(df)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ 'ΠΠ»ΠΈΠ½Π°' ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ len() ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π² ΡΡΠΎΠ»Π±ΡΠ΅ 'Π‘ΡΡΠΎΠΊΠ°'. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
Π‘ΡΡΠΎΠΊΠ° ΠΠ»ΠΈΠ½Π°
0 ΠΏΡΠΈΠ²Π΅Ρ 6
1 ΠΏΠΎΠΊΠ° 4
2 Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅ 13
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ pandas
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ pandas, Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ°. ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π°: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° apply() ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° map().
ΠΠ΅ΡΠΎΠ΄ apply()
ΠΠ΅ΡΠΎΠ΄ apply() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ° ΠΈΠ»ΠΈ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΡΠΎΠ»Π±ΡΡ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ :
import pandas as pd
data = {'Name': ['John', 'Kate', 'Sam', 'Emma'],
'Age': [25, 30, 35, 28]}
df = pd.DataFrame(data)
print(df)
ΠΡΠ²ΠΎΠ΄:
Name Age
0 John 25
1 Kate 30
2 Sam 35
3 Emma 28
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ len() ΠΊ ΡΡΠΎΠ»Π±ΡΡ 'Name', ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
df['Name_Length'] = df['Name'].apply(len)
print(df)
ΠΡΠ²ΠΎΠ΄:
Name Age Name_Length
0 John 25 4
1 Kate 30 4
2 Sam 35 3
3 Emma 28 4
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ 'Name_Length', Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΡΠΎΠ»Π±ΡΠ° 'Name'.
Π’Π°ΠΊΠΆΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ° 'Age':
def double_age(age):
return age * 2
df['Double_Age'] = df['Age'].apply(double_age)
print(df)
ΠΡΠ²ΠΎΠ΄:
Name Age Name_Length Double_Age
0 John 25 4 50
1 Kate 30 4 60
2 Sam 35 3 70
3 Emma 28 4 56
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ 'Double_Age', ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ΄Π²ΠΎΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠ° 'Age'.
ΠΠ΅ΡΠΎΠ΄ map()
ΠΠ΅ΡΠΎΠ΄ map() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ°.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
data = {'Grade': ['A', 'B', 'C', 'A']}
df = pd.DataFrame(data)
print(df)
ΠΡΠ²ΠΎΠ΄:
Grade
0 A
1 B
2 C
3 A
Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠ° 'Grade' ΠΈΠ· Π±ΡΠΊΠ²Π΅Π½Π½ΡΡ Π² ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ map() ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ Π±ΡΠΊΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅:
grade_map = {'A': 5, 'B': 4, 'C': 3, 'D': 2, 'F': 1}
df['Numeric_Grade'] = df['Grade'].map(grade_map)
print(df)
ΠΡΠ²ΠΎΠ΄:
Grade Numeric_Grade
0 A 5
1 B 4
2 C 3
3 A 5
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ 'Numeric_Grade', Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π±ΡΠΊΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ pandas - ΠΌΠ΅ΡΠΎΠ΄ apply() ΠΈ ΠΌΠ΅ΡΠΎΠ΄ map(). ΠΠ΅ΡΠΎΠ΄ apply() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ° ΠΈΠ»ΠΈ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΡΠΎΠ»Π±ΡΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ map() ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. ΠΠ±Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ Π² ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² pandas.