πΌΠΠ°Π½Π΄Ρ: ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ?
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΡΡΠΎΠ»Π±ΡΡ Π² pandas ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ apply()
. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ:
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ df
df = pd.DataFrame({'ΡΡΠΎΠ»Π±Π΅Ρ': [1, 2, 3, 4, 5]})
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ
def ΡΠ΄Π²ΠΎΠΈΡΡ(ΡΠΈΡΠ»ΠΎ):
return ΡΠΈΡΠ»ΠΎ * 2
# ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ 'ΡΡΠΎΠ»Π±Π΅Ρ' Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° apply()
df['ΡΡΠΎΠ»Π±Π΅Ρ'] = df['ΡΡΠΎΠ»Π±Π΅Ρ'].apply(ΡΠ΄Π²ΠΎΠΈΡΡ)
print(df)
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠΌ 'ΡΡΠΎΠ»Π±Π΅Ρ', ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΠΈΡΠ»Π°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ 'ΡΠ΄Π²ΠΎΠΈΡΡ', ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ 'ΡΡΠΎΠ»Π±Π΅Ρ' Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° apply()
ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΡΠΎΠ»Π±Π΅Ρ 'ΡΡΠΎΠ»Π±Π΅Ρ'.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ Π² pandas
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ pandas, Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΡΡΠΎΠ»Π±ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ apply(). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ»Π±ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df = pd.DataFrame({'Π‘ΡΡΠ°Π½Π°': ['Π ΠΎΡΡΠΈΡ', 'Π‘Π¨Π', 'ΠΠΈΡΠ°ΠΉ'],
'ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅': [144.5, 328.2, 1393.0]})
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ
def convert_to_millions(number):
return number / 1000
# ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅"
df['ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ (ΠΌΠ»Π½)'] = df['ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅'].apply(convert_to_millions)
# ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ DataFrame
print(df)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame Ρ Π΄Π²ΡΠΌΡ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ: "Π‘ΡΡΠ°Π½Π°" ΠΈ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅". ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ convert_to_millions
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° 1000, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡ Π΅Π³ΠΎ Π² ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅" Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° apply()
. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ (ΠΌΠ»Π½)".
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ DataFrame, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΠ»Π±Π΅Ρ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅" Π±ΡΠ» ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ:
Π‘ΡΡΠ°Π½Π° ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ (ΠΌΠ»Π½)
0 Π ΠΎΡΡΠΈΡ 144.5 0.1445
1 Π‘Π¨Π 328.2 0.3282
2 ΠΠΈΡΠ°ΠΉ 1393.0 1.3930
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ convert_to_millions
Π±ΡΠ»Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ»Π±ΡΠ° "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅" ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ»ΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ Π² Π½ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ (ΠΌΠ»Π½)".
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΡΠΎΠ»Π±ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π΅ Π² ΠΌΠ΅ΡΠΎΠ΄ apply()
Π½Π°ΠΏΡΡΠΌΡΡ Π±Π΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
# ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ sum ΠΊ ΡΡΠΎΠ»Π±ΡΡ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅"
df['Π‘ΡΠΌΠΌΠ°'] = df['ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅'].apply(sum)
# ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΡΡΠΎΠ»Π±ΡΡ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅"
df['ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ (ΡΡΡ)'] = df['ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅'].apply(lambda x: x * 1000)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sum
ΠΊ ΡΡΠΎΠ»Π±ΡΡ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅" ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΡΠΎΠ»Π±ΡΠ΅ "Π‘ΡΠΌΠΌΠ°". ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠΎΠ»Π±ΡΠ° "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅" Π½Π° 1000 ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΡΠΎΠ»Π±ΡΠ΅ "ΠΠ°ΡΠ΅Π»Π΅Π½ΠΈΠ΅ (ΡΡΡ)".
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠ΅ΡΠΎΠ΄ apply()
Π² pandas ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² DataFrame.