Ինչպե՞ս որոնել արժեք Pandas DataFrame շարքում:
Pandas DataFrame-ը Տվյալների կառուցվածքի մի մասն է, որն օգտագործվում է 2D կառուցվածքը աղյուսակային ձևով (տողեր և սյունակներ) ներկայացնելու համար: Python-ում մենք ունենք որոշ ներկառուցված գործառույթներ, ինչպիսիք են eq(), any(), loc[] և, apply(), որոնք կարող են օգտագործվել Pandas DataFrame տողում արժեք որոնելու համար: Օրինակ- Արժեքի որոնումը սահմանվում է որևէ կոնկրետ տվյալների առկայությամբ:
Շարահյուսություն
Հետևյալ շարահյուսությունն օգտագործվում է օրինակներում −
DataFrame()
Սա Python-ում ներկառուցված ֆունկցիա է, որը հետևում է պանդաների մոդուլին և ցույց է տալիս 2D տողերն ու սյունակը մեկ շրջանակում:
eq()
Այս հավասարազոր մեթոդը Python-ում կարող է օգտագործվել պանդաների DataFrame-ի յուրաքանչյուր արժեք համեմատելու համար՝ ստուգելու, թե արդյոք այն հավասար է նույնացված արժեքին:
any()
Սա նաև Python-ում ներկառուցված ֆունկցիա է, որը վերադարձնում է true, եթե որևէ կրկնվող տարր կամ տարր կրկնվում է, այլապես վերադարձնում է false:
loc[]
Վերոնշյալ մեթոդը ներկայացնում է՝ վերադարձնելով հատուկ տողերն ու սյունակները DataFrame:
apply()
Սա Python-ում ներկառուցված ֆունկցիան է, որը գործում է այնպես, ինչպես map() ֆունկցիան։ Եթե աղյուսակային տվյալների հետ աշխատող օգտվողը տրամադրում է պարամետրի առանցք=1 (տող) կամ 0 (սյունակ):
Օրինակ 1
Հետևյալ օրինակում մենք ցույց կտանք ինչպես որոնել արժեք DataFrame-ի որոշակի սյունակում: Նախ, ներմուծեք պանդաների մոդուլը և վերցրեք հղման օբյեկտը որպես pd: Այնուհետև ստեղծեք տվյալների անունով փոփոխական և պահեք տվյալները՝ օգտագործելով բառարան: Այնուհետև օգտագործեք DataFrame ներկառուցված մեթոդը, որն ընդունում է տվյալներ անունով պարամետրը՝ աղյուսակային ձևի 2D կառուցվածքում բնութագրելու համար: Հաջորդը, սահմանեք սյունակի ցանկացած արժեք (օրինակ՝ siddhu) և պահեք այն search_value փոփոխականում: Առաջ շարժվելով՝ օգտագործեք ցուցակի տեխնիկան և ստուգեք՝ արդյոք Անուն անունով սյունակը համարժեք է search_value-ին, ապա այն վերադարձնում է կոնկրետ տվյալները: Այս բոլոր գործընթացները պահվում են փոփոխական արդյունքում: Ի վերջո, օգտագործեք միայն արդյունք անունով փոփոխականը և ստացեք ցանկալի արդյունքը:
import pandas as pd
# Create a DataFrame
data = {'Name': ['Bhavish', 'Abhinabh', 'Siddhu'],
'Age': [25, 32, 28]}
df = pd.DataFrame(data)
# Search for a value in the 'Name' column
search_value = 'Siddhu'
result = df[df['Name'] == search_value]
result
Արդյունք
Օրինակ 2
Հետևյալ օրինակում մենք ցույց կտանք ինչպես որոնել արժեք որոշակի տողում ըստ պայմանի: Սկսեք ծրագիրը՝ ներմուծելով պանդաների մոդուլը և հղումներ վերցնելով որպես pd: Այնուհետև ստեղծեք սյունակների և տողերի տվյալները՝ օգտագործելով բառարան: Հաջորդը, օգտագործեք տվյալների շրջանակը՝ տվյալների աղյուսակային կառուցվածքը սահմանելու և այն df փոփոխականում պահելու համար: Այնուհետև ընտրեք ցանկացած արժեք տվյալ տողերից (օրինակ՝ «F») և պահեք այն search_value փոփոխականում: Այժմ սկզբնավորեք փոփոխականի արդյունքը և պահեք՝ օգտագործելու երկու մեթոդները df փոփոխականներով, այսինքն՝ eq()[ընդունում է պարամետրը որպես search_value՝ տվյալ որոնումը գտնելու համար] և ցանկացած (առանցք=1)[ այն կկրկնի բոլոր տողերը՝ կոնկրետ որոնումը գտնելու համար։ ]։ Վերջում օգտագործեք փոփոխական արդյունքը և ստացեք արդյունքը։
import pandas as pd
# Create a DataFrame using a dictionary
data = {'Name': ['A', 'X', 'C', 'F', 'L', 'G'],
'Age': [25, 32, 18, 29, 13, 19]}
df = pd.DataFrame(data)
# Search for a value across all columns
search_value = 'F'
result = df[df.eq(search_value).any(axis=1)]
result
Արդյունք
Օրինակ 3
Հետևյալ օրինակում մենք ցույց կտանք ինչպես որոնել մի քանի արժեքներ անընդմեջ՝ օգտագործելով loc[] հատկությունը: Այստեղ այն օգտագործում է .loc[] հատկությունը, որը վերադարձնում է կոնկրետ տողերը՝ տալով search_value: loc հատկությունը օգտագործում է երկու պարամետր՝ կտրատում (:) և բառարան (Բանալին արժեքային զույգով), որոնք կօգնեն որոնել որոշակի տողեր: loc-ի հետ մեկտեղ այն օգտագործում է ևս երկու մեթոդ, որոնք են eq() և any()՝ ցանկալի արդյունքը ստանալու համար:
import pandas as pd
# Create a DataFrame
data = {'Name': ['Shyam', 'Ranjan', 'Mohan', 'Raju', 'Dheeraj'],
'Age': [25, 32, 18, 22, 26],
'Designation': ['SDE', 'Tester', 'Web Devloper', 'Intern', 'HR'],
'Salary': [50000, 17000, 26000, 20000, 17000]}
df = pd.DataFrame(data)
# Search for a value within a range of columns
search_value = 17000
ans = df.loc[df.loc[:, 'Age':'Salary'].eq(search_value).any(axis=1)]
ans
Արդյունք
Օրինակ 4
Հետևյալ օրինակում մենք ցույց կտանք ինչպես որոնել արժեք բոլոր տողերում՝ օգտագործելով application() և lambda: Այստեղ այն օգտագործում է apply() ֆունկցիան լամբդա ֆունկցիայի հետ մեկտեղ՝ յուրաքանչյուր տողի վրա կրկնելու և ստուգելու համար, թե արդյոք որոնման արժեքը առկա է տողի արժեքներում. Այնուհետև օգտագործեք any() ֆունկցիան՝ ստուգելու համար, թե արդյոք որոնման արժեքը գտնվել է առնվազն մեկ տողում, թե ոչ:
import pandas as pd
# Create of simple DataFrame
data = {"Name": ["Keshav", "Vishal", "Aman", "Shubham", "Amar"],
"Age": [23, 22, 24, 26, 21]}
df = pd.DataFrame(data)
# Search for the value 22 in all rows using apply() and lambda
search_value = 22
if df.apply(lambda row: search_value in row.values, axis=1).any():
print(f"{search_value} found in at least one row")
else:
print(f"{search_value} not found in any row")
Արդյունք
22 found in at least one row
Եզրակացություն
Մենք քննարկեցինք Pandas DataFrame տողում արժեք փնտրելու տարբեր եղանակներ: Մենք տեսանք մի քանի ներկառուցված գործառույթներ, որոնք օգնում են որոնել կոնկրետ տողը տվյալ տվյալներից։ Տարբեր ոլորտներն օգտագործում են այս տեսակի մոդուլը իրենց ML ծրագրերում, ինչպիսիք են տվյալների գիտությունը և տվյալների վերլուծությունը: