π ΠΠ°ΠΊ ΠΏΡΠΎΠΉΡΠΈ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ pandas: ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π³Π°ΠΉΠ΄ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ Π² pandas, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ iterrows(). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'ΠΠΌΡ': ['ΠΠ½Π½Π°', 'ΠΠ²Π°Π½', 'ΠΠ°ΡΠΈΡ'],
'ΠΠΎΠ·ΡΠ°ΡΡ': [25, 18, 30],
'ΠΠΎΡΠΎΠ΄': ['ΠΠΎΡΠΊΠ²Π°', 'Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³', 'ΠΠ°Π·Π°Π½Ρ']}
df = pd.DataFrame(data)
# Π¦ΠΈΠΊΠ» ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
for index, row in df.iterrows():
print(f"ΠΠ½Π΄Π΅ΠΊΡ: {index}, ΠΠΌΡ: {row['ΠΠΌΡ']}, ΠΠΎΠ·ΡΠ°ΡΡ: {row['ΠΠΎΠ·ΡΠ°ΡΡ']}, ΠΠΎΡΠΎΠ΄: {row['ΠΠΎΡΠΎΠ΄']}")
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΡΠΎΠΉΡΠΈ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ pandas
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² ΡΡΡ ΡΡΠ°ΡΡΡ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² pandas. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² DataFrame Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»ΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° for
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° for. Π¦ΠΈΠΊΠ» for ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ DataFrame ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
data = {'Name': ['John', 'Emma', 'Alex'],
'Age': [25, 28, 30],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# ΠΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
for index, row in df.iterrows():
print(row['Name'], row['Age'], row['City'])
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ df ΠΈ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° iterrows(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² 'Name', 'Age' ΠΈ 'City' Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° itertuples()
ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ DataFrame - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° itertuples(). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
data = {'Name': ['John', 'Emma', 'Alex'],
'Age': [25, 28, 30],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# ΠΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
for row in df.itertuples():
print(row.Name, row.Age, row.City)
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ df ΠΈ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° itertuples(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² 'Name', 'Age' ΠΈ 'City' Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° apply()
ΠΠ΅ΡΠΎΠ΄ apply() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ DataFrame. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
data = {'Name': ['John', 'Emma', 'Alex'],
'Age': [25, 28, 30],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ
def process_row(row):
# ΠΠ°Ρ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
return row['Name'] + ', ' + str(row['Age']) + ', ' + row['City']
# ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
df['ProcessedData'] = df.apply(process_row, axis=1)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ process_row(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ Π² DataFrame Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° apply() ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π½ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ 'ProcessedData'.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ DataFrame Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ pandas. ΠΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° for, ΠΌΠ΅ΡΠΎΠ΄Π° itertuples() ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° apply(). ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ» ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ Π²Π°Ρ! Π£Π΄Π°ΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ pandas!