Kā meklēt DataFrames, izmantojot pandas isin()
Python pandas funkcija DataFrame.isin() ir paredzēta, lai ātri un efektīvi pārbaudītu, vai noteiktas vērtības pastāv DataFrame. Šī funkcija ir īpaši noderīga, lai vienlaikus pārbaudītu vairākas vērtības.
Kāda ir pandas isin() sintakse?
Pandas isin() pieņem vienu parametru un izskatās šādi:
DataFrame.isin(values)pythonvalues parametrs var būt Python saraksts, Python vārdnīca vai cits DataFrame. Tas satur vērtības, kuras vēlaties meklēt DataFrame.
Ja strādājat ar pandas Series, nevis DataFrames, varat izmantot līdzvērtīgu funkciju Series.isin().
Kā lietot isin() ar DataFrames pandas
Jūs varat izmantot isin() dažādiem mērķiem. Papildus vērtību pārbaudei to var izmantot arī DataFrames filtrēšanai.
Vērtību pārbaude kolonnā
Vispirms aplūkosim DataFrame, kas satur informāciju par dažādiem cilvēkiem un to dzīvesvietām.
import pandas as pd
# Creating a DataFrame
data = {
'Name': ['Amir', 'Bella', 'Charlize', 'David'],
'City': ['Nottingham', 'London', 'Cardiff', 'Hull']
}
df = pd.DataFrame(data)
print(df)pythonDataFrame izskatās šādi:
Name City
0 Amir Nottingham
1 Bella London
2 Charlize Cardiff
3 David HullTagad mēs vēlamies izmantot pandas isin(), lai pārbaudītu, vai pilsētas kolonnā City ir iekļautas atsevišķā pilsētu sarakstā, kuru esam izveidojuši. Kad būsim izveidojuši sarakstu ar atsauces pilsētām, mēs palaidīsim funkciju DataFrame kolonnā „City”:
# Cities for the list to be compared to
cities_to_check_against = ['Cardiff', 'Hull', 'Middlesbrough']
# Using the isin() method
result = df['City'].isin(cities_to_check_against)
print(result)pythonRezultāts ir virkne Boole’a vērtību, kas norāda, vai katra pilsēta kolonnā “Pilsēta” ir iekļauta cities_to_check_against sarakstā:
0 False
1 False
2 True
3 True
Name: City, dtype: boolDatu rāmja filtrēšana, izmantojot isin()
Jūs varat arī izmantot pandas isin(), lai filtrētu DataFrame, saglabājot tikai rindas ar pilsētām, kas ir iekļautas cities_to_check_against sarakstā.
# Filtering a DataFrame using isin()
filtered_df = df[df['City'].isin(cities_to_check_against)]
print(filtered_df)pythonRezultāts ir DataFrame, kas satur tikai rindas ar pilsētām, kuras ir arī cities_to_check_against sarakstā:
Name City
2 Charlize Cardiff
3 David HullVairāku kolonnu pārbaude DataFrame
Sarežģītākām filtrēšanas darbībām varat izmantot arī pandas isin() ar vārdnīcām. Turpmākajā piemērā redzēsiet, kā var izmantot vārdnīcu, lai vienlaikus pārbaudītu vairākas DataFrame kolonnas. Vispirms pievienosim kolonu sākotnējam DataFrame un pēc tam izmantosim isin():
# Creating a DataFrame
data = {
'Name': ['Amir', 'Bella', 'Charlize', 'David'],
'City': ['Nottingham', 'London', 'Cardiff', 'Hull'],
'Age': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Dictionary with values that the DataFrame should be checked against
values_to_check_against = {
'City': ['Cardiff', 'Hull'],
'Age': [30, 40]
}
# Using isin() with a dictionary
result = df.isin(values_to_check_against)
print(result)pythonŠajā gadījumā, izsaucot isin(), tiek atgriezts DataFrame ar Boolean vērtībām, kas norāda, vai katrā kolonnā ir izpildīti nosacījumi:
Name City Age
0 False False False
1 False False True
2 False True False
3 False True True